SQL复制多表数据

最近在客户这边维护的时候,他们有需要把现在的数据复制到以前,应付检查.所以我就写了些SQL来复制该数据

废话少说,把代码贴出来,大家看看

SQL复制多表数据SQL复制多表数据Code
--删除临时表
drop table #tmp1
drop table #tmp2
drop table #tmp3

--获取数据
select id,company_id,examine_date,moderator_party,moderator_id 
= case when moderator_id='17adfa4692f248a180b9b4ad65835244' then '59cfe656178c45f1ab24355699f00cdb' when moderator_id='161887e22a3b46afa2033a8fa7a3585a' then '1b5a7b3472e34a1b8d350207ce6c0dac' else moderator_id  end   into #tmp1 from train_examine where year(examine_date)=2008 and month(examine_date)<7 and company_id = '35020009' order by examine_date

select 
* into #tmp2 from train_examine_item where train_examine_id in(select id from #tmp1)

select 
* into #tmp3 from train_examine_item_item where train_examine_item_id in (select id from #tmp2)

--添加临时字段
alter table #tmp1 add  NID nvarchar(
32)
alter table #tmp2 add  NID nvarchar(
32)
alter table #tmp2 add  NNID nvarchar(
32)
alter table #tmp3 add  NID nvarchar(
32)

--为临时字段赋值
update #tmp1
  
set nid = id

update #tmp2
  
set nid = train_examine_id,
      nnid 
= id

update #tmp3
  
set nid=train_examine_item_id


select 
* from #tmp1
select 
* from #tmp2
select 
* from #tmp3

--修改临时表的信息,并重新关联
update #tmp1
  
set id=replace(newid(),'-',''),
      examine_date 
=dateadd(month,6,dateadd(year,-2,examine_date))

update #tmp2 
  
set id=replace(newid(),'-',''),
      train_examine_id 
= #tmp1.id
  from #tmp1 
  left join  #tmp2 
  on #tmp1.nid 
= #tmp2.nid


update #tmp3 
  
set train_examine_item_id = #tmp2.id
  from #tmp2 
  left join  #tmp3 
  on #tmp2.nnid 
= #tmp3.nid

--删除临时字段
alter table #tmp1 drop column nid
alter table #tmp2 drop column nid
alter table #tmp2 drop column nnid
alter table #tmp3 drop column nid

--插入数据
insert into train_examine
select 
* from #tmp1
insert into train_examine_item
select 
* from #tmp2
insert into train_examine_item_item
select 
* from #tmp3



      

版权说明

  如果标题未标有<转载、转>等字则属于作者原创,欢迎转载,其版权归作者和博客园共有。
  作      者:温景良
  文章出处:http://wenjl520.cnblogs.com/  或  http://www.cnblogs.com/

posted @ 2008-12-03 09:21 温景良(Jason) Views(1008) Comments(0) Edit 收藏
 

公告

本文转自我的程序人生博客园博客,原文链接:http://www.cnblogs.com/wenjl520/archive/2008/12/03/1346401.html,如需转载请自行联系原作者
 
上一篇:ie与firefox 关于js 的差别(转载)


下一篇:公司数据如何迁移到阿里云服务器上?