博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SqlServer一张表数据导入另一张表,收藏使用,工作中更新数据错误很有用
阅读量:7028 次
发布时间:2019-06-28

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

sql一张表数据导入另一张表
 
1.如果2张表的字段一致,并且希望插入全部数据,可以用这种方法:
 
INSERT INTO 目标表 SELECT * FROM 来源表;
 
2.比如要将 articles 表插入到 newArticles 表中,则是:
 
INSERT INTO newArticles SELECT * FROM articles;
 
3.如果只希望导入指定字段,可以用这种方法:
  
INSERT INTO 目标表 (字段1, 字段2, ...) SELECT 字段1, 字段2, ... FROM 来源表;
 
注意字段的顺序必须一致。
 
下面一段代码是我实际工作中用到的,我记录一下,思路是:
先备份整个表的数据,然后进行更新,没问题就完成任务了,有问题请紧急还原表的数据,期间有数据变动,我不知道如何是好,大家是否有好的建议。
 
--1 先备份短信用户表数据SELECT * INTO SMSUSERACCOUNT_20150605 FROM SMSUSERACCOUNT;--2 找到所有额度不为0的账号SELECT * FROM  SMSUSERACCOUNTWHERE CREDIT <>0;--3 先更新短信余额 = 当前短信余额+额度UPDATE SMSUSERACCOUNTSET REMAININGNUMBER = REMAININGNUMBER+CREDITWHERE CREDIT <>0;--4 将所有账号的额度全部清零UPDATE SMSUSERACCOUNT SET CREDIT =0;--紧急还原全表数据(如果2张表的字段一致,并且希望插入全部数据,可以用这种方法)SELECT * FROM SMSUSERACCOUNT;DELETE FROM SMSUSERACCOUNT;SELECT * FROM SMSUSERACCOUNT;INSERT INTO [OpenMasBak].[dbo].[SMSUSERACCOUNT]           ([ApplicationCode]           ,[ApplicationName]           ,[UserId]           ,[AccountCode]           ,[AccountName]           ,[RemainingNumber]           ,[Credit]           ,[AllCount]           ,[SettlementDate]           ,[SplitAccount]           ,[Enabled]           ,[DeletionStateCode]           ,[Description]           ,[CreateOn]           ,[CreateUserId]           ,[CreateBy]           ,[ModifiedOn]           ,[ModifiedUserId]           ,[ModifiedBy])    select [ApplicationCode]           ,[ApplicationName]           ,[UserId]           ,[AccountCode]           ,[AccountName]           ,[RemainingNumber]           ,[Credit]           ,[AllCount]           ,[SettlementDate]           ,[SplitAccount]           ,[Enabled]           ,[DeletionStateCode]           ,[Description]           ,[CreateOn]           ,[CreateUserId]           ,[CreateBy]           ,[ModifiedOn]           ,[ModifiedUserId]           ,[ModifiedBy] from [SMSUSERACCOUNT_20150605]GO/*如果表中没有自增列可以使用这一段sql--紧急还原全表数据(如果2张表的字段一致,并且希望插入全部数据,可以用这种方法)INSERT INTO SMSUSERACCOUNT SELECT * FROM SMSUSERACCOUNT_20150605;--紧急还原某些字段(短信余额和额度)INSERT INTO SMSUSERACCOUNT (Credit, RemainingNumber) SELECT Credit, RemainingNumber FROM SMSUSERACCOUNT_20150605;*/

 

转载地址:http://knrxl.baihongyu.com/

你可能感兴趣的文章
什么叫“默认邮件客户端没有正确安装”?
查看>>
D3D游戏编程系列(一):DXLib的介绍
查看>>
linux sort命令学习
查看>>
opc在自动化控件系统的应用
查看>>
ifconfig详解
查看>>
unigui发展路线图
查看>>
no suitable driver at java.sql.DriverManager
查看>>
优秀网站设计:打造有吸引力的网站(原书第3版)
查看>>
LightOJ 1147 Tug of War(状态压缩)
查看>>
SPOJ 1487 Query on a tree III(划分树)
查看>>
4.2 CUDA Reduction 一步一步优化
查看>>
CSS设置DIV Herf底层图片和链接同时改变,兼容IE,Firefox,Opera,Safari,Chrome等
查看>>
csharp: ClientScript.RegisterStartupScript int net4.0
查看>>
【编译】UI设计师必读的13篇文章
查看>>
sata port multiplier
查看>>
JavaScript中的this关键字
查看>>
SQLServer Compact 简介
查看>>
处理FF的domReady bug
查看>>
百度地图API的使用
查看>>
2016第19周二
查看>>