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. 删除Checkout with Multiple Addresses

    如果选择No,您的客户在结账时只可以输入一个收货地址,订单的货物都会送到这个地址.如果您选择Yes,您的客户将可以选择发货到多个地址,在购物车中的Proceed to Checkout按钮下面将会出现 ...

  2. Definition Questions

    What is the relationship and differences between processes and threads? A process usually represent ...

  3. LeetCode Course Schedule II

    原题链接在这里:https://leetcode.com/problems/course-schedule-ii/ 题目: There are a total of n courses you hav ...

  4. RabbitMQ学习总结 第二篇:快速入门HelloWorld

    目录 RabbitMQ学习总结 第一篇:理论篇 RabbitMQ学习总结 第二篇:快速入门HelloWorld RabbitMQ学习总结 第三篇:工作队列Work Queue RabbitMQ学习总结 ...

  5. C#高级编程 反射 代码示例

    反射 反射(Reflection)是.NET中的重要机制,通过反射,可以在运行时获得.NET中每一个类型(包括类.结构.委托.接口和枚举等)的成员,包括方法.属性.事件,以及构造函数等. 还可以获得每 ...

  6. 有用C函数集锦

    1. offsetof #include <stddef.h> size_t offsetof(type, member); The macro offsetof() returns th ...

  7. 苹果API常用英语名词

    0. indicating决定 1.in order to 以便 2.rectangle bounds 矩形尺寸 3.applied 应用 4.entirety全部 5.technique 方法 6. ...

  8. 各种设备的CSS3 MediaQuery整理及爽歪歪写法

    链接:http://dwz.cn/1gZQ06 ------------------------------------------------------ 备注:内容未测试过,转载的,留着备用. - ...

  9. canvas学习之制作动画

    html部分 ...... <body> <canvas id="myCanvas" width="400" height="400 ...

  10. 数据存储之plist、偏好设置

    // 偏好设置--------------------------------- // 存储基本类型数据 NSUserDefaults *defaults = [NSUserDefaults stan ...