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. jenkins 邮件配置步骤

    一.进行系统管理中的邮件配置步骤: 1.设置Extended E-mail Notification 二.对构建的job 添加邮件发送的步骤: 3.成功截图:

  2. C语言中malloc()和calloc()c函数用法

    C语言中malloc()和calloc()c函数用法   函数malloc()和calloc()都可以用来动态分配内存空间,但两者稍有区别. malloc()函数有一个参数,即要分配的内存空间的大小: ...

  3. linux时钟系统概述

    1. 了解下linux系统中一些时间概念,在kernel/time/timekeeping.c中定义了多个时间.RTC时间:在PC中,RTC时间又叫CMOS时间,通常由一个专门的计时硬件来实现,软件可 ...

  4. Autorelease pool

    根据苹果官方文档中对 Using Autorelease Pool Blocks 的描述,我们知道在下面三种情况下是需要我们手动添加 autoreleasepool 的: 如果你编写的程序不是基于 U ...

  5. LUA闭包概念演示

    闭包的一个重要场景,形成一个自治的环境, 让操作可以封闭运行, 即函数运行时有状态的,可以从闭包创建时候的环境独立开来. 例如下面的lua闭包, genFilter 其入参parmIn是 函数的内部变 ...

  6. javascript 内部函数的定义及调用

    内部函数:定义在另一个函数中的函数 例如: <script> function outer(){ function inner(){ } } </script> inner() ...

  7. 浅谈C# 匿名变量

    每次写博客,第一句话都是这样的:程序员很苦逼,除了会写程序,还得会写博客!当然,希望将来的一天,某位老板看到此博客,给你的程序员职工加点薪资吧!因为程序员的世界除了苦逼就是沉默.我眼中的程序员大多都不 ...

  8. transient关键字的含义

    transient java语言的关键字,变量修饰符,如果用transient声明一个实例变量,当对象存储时,它的值不需要维持. Java的serialization提供了一种持久化对象实例的机制.当 ...

  9. keil 编译的一些错误

    以前使用的是MDK4.5 但是没有stm32F3的元器件,果断的使用了4.6版本了.但是编译之后出现这样错误:linking....\Obj\prj.axf: Warning: L6373W: lib ...

  10. Codeforce Round #221 Div2

    每次的CF都是一把辛酸泪! 什么时候能打破这局面,昨天做着睡着了! 有时候有的题目也就差一线! 哎,! A:杠杆原理! B:算最后负的和! B:没弄出来当时就脑短路... C:事后写了个n*log(n ...