博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQL复制多表数据
阅读量:6172 次
发布时间:2019-06-21

本文共 2058 字,大约阅读时间需要 6 分钟。

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

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

ContractedBlock.gif
ExpandedBlockStart.gif
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
      
版权说明

  如果标题未标有<转载、转>等字则属于作者原创,欢迎转载,其版权归作者和博客园共有。

  作      者:温景良
  文章出处:  或 

分类:
+加关注
0
0
上一篇:
下一篇:
posted @ 2008-12-03 09:21 Views( 1008) Comments( 0)
 
最新IT新闻:
·
·
·
·
·
»
最新知识库文章:
·
·
·
·
·
»

公告

本文转自 博客园博客,原文链接: ,如需转载请自行联系原作者
 
你可能感兴趣的文章
并发03--创建线程的方法
查看>>
mock.js接口测试
查看>>
Algs4-2.3.30极端情况-各种分布排列时的快排性能
查看>>
Js中call apply函数以及this用法
查看>>
pycharm同一目录下无法import明明已经存在的.py文件
查看>>
python 邮件发送
查看>>
RFKILL 调研
查看>>
解决 emoji表情存入数据库为' ??? '
查看>>
hausaufgabe--python 36-- Basic knowledge of Class
查看>>
redis 常用命令
查看>>
一个Pan&Zoom的Behavior
查看>>
062:ORM查询条件详解-exact和iexact
查看>>
【loj3056】【hnoi2019】多边形
查看>>
C++:sprintf()的用法
查看>>
Git-pull进入vim窗口解决办法
查看>>
简单操作
查看>>
添加源,删除源
查看>>
今天的作业
查看>>
day056 多表增加和查询
查看>>
C++——多态性 与 虚函数
查看>>