SQL复制多表数据

简介:

最近在客户这边维护的时候,他们有需要把现在的数据复制到以前,应付检查.所以我就写了些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



      

版权说明

  如果标题未标有<转载、转>等字则属于作者原创,欢迎转载,其版权归作者和博客园共有。
  作      者:温景良
  文章出处: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,如需转载请自行联系原作者
 
相关文章
|
24天前
|
SQL Oracle 关系型数据库
Oracle的PL/SQL隐式游标:数据的“自动导游”与“轻松之旅”
【4月更文挑战第19天】Oracle PL/SQL中的隐式游标是自动管理的数据导航工具,简化编程工作,尤其适用于简单查询和DML操作。它自动处理数据访问,提供高效、简洁的代码,但不适用于复杂场景。显式游标在需要精细控制时更有优势。了解并适时使用隐式游标,能提升数据处理效率,让开发更加轻松。
|
1天前
|
SQL 关系型数据库 MySQL
|
2天前
|
SQL 关系型数据库 MySQL
|
3天前
|
SQL 数据库
Sql中如何添加数据
Sql中如何添加数据
5 0
|
7天前
|
SQL API 数据库
在Python中获取筛选后的SQL数据行数
在Python中获取筛选后的SQL数据行数
17 1
|
7天前
|
SQL 分布式计算 数据可视化
数据分享|Python、Spark SQL、MapReduce决策树、回归对车祸发生率影响因素可视化分析
数据分享|Python、Spark SQL、MapReduce决策树、回归对车祸发生率影响因素可视化分析
|
13天前
|
SQL 机器学习/深度学习 数据采集
数据分享|SQL Server、Visual Studio、tableau对信贷风险数据ETL分析、数据立方体构建可视化
数据分享|SQL Server、Visual Studio、tableau对信贷风险数据ETL分析、数据立方体构建可视化
|
13天前
|
SQL Oracle 关系型数据库
利用 SQL 注入提取数据方法总结
利用 SQL 注入提取数据方法总结
|
14天前
|
SQL 分布式计算 DataWorks
DataWorks产品使用合集之在DataWorks的数据开发模式中,在presql和postsql中支持执行多条SQL语句如何解决
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
42 1
|
15天前
|
SQL 机器学习/深度学习 算法
SQL SERVER ANALYSIS SERVICES决策树、聚类、关联规则挖掘分析电商购物网站的用户行为数据
SQL SERVER ANALYSIS SERVICES决策树、聚类、关联规则挖掘分析电商购物网站的用户行为数据