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 SMSUSERACCOUNT
WHERE CREDIT <>0; --3 先更新短信余额 = 当前短信余额+额度
UPDATE SMSUSERACCOUNT
SET REMAININGNUMBER = REMAININGNUMBER+CREDIT
WHERE 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;
*/

SqlServer一张表数据导入另一张表,收藏使用,工作中更新数据错误很有用的更多相关文章

  1. 在Oracle中更新数据时,抛出:ORA-01008: not all variables bound

    在Oracle中更新数据时,抛出了一个 :ORA-01008 not all variables bound, 我的理解是不是所有的变量/参数都有边界,不懂: 后来知道了,原来是“不是所有变量/参数都 ...

  2. 关于ORALCE一个表空间的数据导入到另一个表空间的方法(原创)

    用户:   whnaproject     所属表空间: whnaproject 新用户   : wniec            所属新表空间: wniec 要求:将用户whnaproject中的数 ...

  3. Logstash学习之路(四)使用Logstash将mysql数据导入elasticsearch(单表同步、多表同步、全量同步、增量同步)

    一.使用Logstash将mysql数据导入elasticsearch 1.在mysql中准备数据: mysql> show tables; +----------------+ | Table ...

  4. Sqoop(三)将关系型数据库中的数据导入到HDFS(包括hive,hbase中)

    一.说明: 将关系型数据库中的数据导入到 HDFS(包括 Hive, HBase) 中,如果导入的是 Hive,那么当 Hive 中没有对应表时,则自动创建. 二.操作 1.创建一张跟mysql中的i ...

  5. SQL Server导入数据报错"无法在只读列“Id”中插入数据"

    使用sql server 导入数据报错:无法在只读列'id'中插入数据.如下图所示: 查找出现该问题的原因是表中id为自动增长的标识列,需要在[编辑映射]中勾选"启用标识插入": ...

  6. canal从mysql拉取数据,并以protobuf的格式往kafka中写数据

    大致思路: canal去mysql拉取数据,放在canal所在的节点上,并且自身对外提供一个tcp服务,我们只要写一个连接该服务的客户端,去拉取数据并且指定往kafka写数据的格式就能达到以proto ...

  7. SQLServer将一个表的数据导入到另一个表

    1.假如A表存在 insert into A(a,b,c) (select a,b,c from B) 2.假如A表不存在 select a,b,c into A from B 3.假如需要跨数据库 ...

  8. Sqoop-将MySQL数据导入到hive orc表

    sqoop创建并导入数据到hive orc表 sqoop import \ --connect jdbc:mysql://localhost:3306/spider \ --username root ...

  9. oracle如何将数据导入到另一个表空间

    某个用户的数据在USER表空间里,如果多个用户的数据都在USERS表空间内,将严重影响系统性能,一般在系统迁移的时候,在新的系统里希望导入 一个独立的用户表空间,但是经常无法导入用户指定的缺省表空间, ...

随机推荐

  1. 气球或者泡泡向上飘动 jQuery插件

    圣诞.元旦要来了,公司以往基本每个月至少要搞一两款手机小游戏来宣传产品,这次也不例外!! 之前做过,按压柚子.许愿.吃柚子等等小游戏,这次是做个那种 气球向上飘动,戳破气球,随机获取奖品.如下图: 手 ...

  2. WPF打印票据

    最近工作的内容是有关于WPF的,整体开发没有什么难度,主要是在打印上因为没有任何经验,犯了一些难,不过还好,解决起来也不是很费劲. WPF打印票据或者是打印普通纸张区别不大,只是说打印票据要把需要打的 ...

  3. mac 自动配置java版本

    首先输入命令:vi .bash_profile ,添加如下内容: # Mac默认 JDK (Mac默认自带了一个jdk6版本) export JAVA_6_HOME=`/usr/libexec/jav ...

  4. windows 程序设计自学:添加图标资源

    #include <windows.h> #include "resource.h" LRESULT CALLBACK MyWndProc( HWND hwnd, // ...

  5. Unity3d游戏中自定义贝塞尔曲线编辑器[转]

    关于贝塞尔曲线曲线我们再前面的文章提到过<Unity 教程之-在Unity3d中使用贝塞尔曲线>,那么本篇文章我们来深入学习下,并自定义实现贝塞尔曲线编辑器,贝塞尔曲线是最基本的曲线,一般 ...

  6. HDU 3999 The order of a Tree

    The order of a Tree Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Othe ...

  7. CSS代码原则

    css的团队合作规则以及怎样写出高性能的css代码. 一.使用Reset但并非全局Reset 同浏览器元素的默认属性有所不同,使用Reset可重置浏览器元素的一些默认属性,以达到浏览器的兼容.但需要注 ...

  8. CG

    //设置线的宽度 CGContextSetLineWidth(ctx, 12); //设置线的连接处 (拐点) CGContextSetLineJoin(ctx, kCGLineJoinRound ) ...

  9. 协作图 Collaboration diagram

    概述 协作图也是一种交互图,但一般用的比较少,一般用在大概分析一下对象之间是怎样交互的,跟顺序图是可以相互转化的. 协作图的用处: 在分析的时候(而顺序图一般设计的时候),分析出有哪些对象: 在白板上 ...

  10. linux下的daemon进程

    转自:http://www.cnblogs.com/xuxm2007/archive/2011/07/29/2121280.html   #include <unistd.h> int d ...