if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[copyallwaterdata]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[copyallwaterdata]
GO

SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO

CREATE proc copyallwaterdata
as

DECLARE @SQLString VARCHAR(3000)
DECLARE @TABLENAME VARCHAR(80)

if not exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[needsynctablelist]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
begin

CREATE TABLE [dbo].[needsynctablelist] (
 [tablename] [varchar] (100) COLLATE Chinese_PRC_CI_AS NOT NULL ,
 [sync] [bit] NULL
) ON [PRIMARY]

ALTER TABLE [dbo].[needsynctablelist] ADD
 CONSTRAINT [DF_needsynctablelist_sync] DEFAULT (1) FOR [sync],
 CONSTRAINT [PK_needsynctablelist] PRIMARY KEY  CLUSTERED
 (
  [tablename]
 )  ON [PRIMARY]
end

insert into needsynctablelist
select *,1 from openquery(water,'select name from dbo.sysobjects where OBJECTPROPERTY(id, ''IsUserTable'') = 1 and name !=''needsynctablelist''' )
where not exists(select 1 from needsynctablelist where name=tablename)

DECLARE water_Cursor CURSOR FOR
select tablename from needsynctablelist where sync=1

OPEN water_Cursor

FETCH NEXT FROM water_Cursor into @TABLENAME
WHILE @@FETCH_STATUS = 0
BEGIN
    SET @SQLString =N' if exists (select 1 from dbo.sysobjects  where name='''+@TABLENAME+''')  drop table  '+@TABLENAME+' select *  into '+@TABLENAME+' from  openquery(water,''select * from dbo.'+@TABLENAME+''')'

exec (@SQLString)

FETCH NEXT FROM water_Cursor  into @TABLENAME
END

CLOSE water_Cursor
DEALLOCATE water_Cursor

GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[queryBasecodes]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[queryBasecodes]
GO

SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO

CREATE proc   queryBasecodes
AS
begin
select * from dbo.COLLDT

end
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO

copyallwaterdata的更多相关文章

随机推荐

  1. 9Types of Leader

    Using the Enneagram Personality Types: The Perfectionist. The People Pleaser. The Achiever. The Indi ...

  2. web页面的适配问题

    一个web页面既要在宽屏上显示,又要在窄屏上显示,既要在电脑上显示,又要在手机上显示,这个适配问题相当的麻烦. 其实解决电脑与手机的适配问题,一般有两个思路:一个是做判断,根据不同条件在css和js做 ...

  3. 24C02 Twr

    连续写24C02,只有第一次能够成功,后面写都失败了.这次调整写的时间间隔.调成了5ms,才成功. 查看datasheet,发现有一个tWR参数.表示写的最小时间间隔.这个时间应该是内部写入所需要的时 ...

  4. mysql按条件查询当条件是数字的时候加不加引号是一样的。

    select * from user where id=1 select * from user where id="1" 在查询的注意是否需要加上"";

  5. Android 开发之如何保证Service不被杀掉(broadcast+system/app)

    序言 最近项目要实现这样一个效果:运行后,要有一个service始终保持在后台运行,不管用户作出什么操作,都要保证service不被kill,这可真是一个难题.参考了现今各种定制版的系统和安全厂商牛虻 ...

  6. ASCII码表和转义字符

    Bin Dec Hex 缩写/字符 解释 0000 0000 0 0 NUL(null) 空字符 0000 0001 1 1 SOH(start of headline) 标题开始 0000 0010 ...

  7. ThinkPHP 自动验证与自动填充无效可能的原因(转)

    自动验证与自动填充是在使用ThinkPHP时经常用到的功能,但偶尔会遇到自动验证与自动填充无效的情况,本文就ThinkPHP 自动验证与自动填充无效可能的原因做一些分析. create() Think ...

  8. C#线程系列讲座(2):Thread类的应用

    一.Thread类的基本用法 通过System.Threading.Thread类可以开始新的线程,并在线程堆栈中运行静态或实例方法.可以通过Thread类的的构造方法传递一个无参数,并且不返回值(返 ...

  9. checkbox判断选中

    $("input[type='checkbox']").is(':checked')

  10. 使用ajax请求,模态框调用并更改密码

    前端页面 <a href="javascript:void(0);" onclick="changPassword()"> <i class= ...