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. Java IO--压缩流

    压缩流: 压缩流的实现: zipEntry: 在实例化ZipEntry的时候,要设置名称,此名称实际上就是压缩文件中的每一个元素的名称. ZipOutputStream: import java.io ...

  2. MyEclipse设置编码方式

    1.windows->Preferences……打开"首选项"对话框,左侧导航树,导航到general->Workspace, 右侧Text file encoding ...

  3. 99 Lisp Problems 列表处理(P1~P28)

    L-99: Ninety-Nine Lisp Problems 列表处理类问题的解答,用Scheme实现,首先定义几个在后续解题中用到的公共过程: ; common procedure (define ...

  4. Maven3路程(三)用Maven创建第一个web项目(2)servlet演示

    上一章用Maven新建了web项目成功后,本文演示在此基础上应用servlet. 1.首先修改pom.xml文件,添加servlet依赖 <project xmlns="http:// ...

  5. ValidationExpression="http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?" can not work

    ValidationExpression="http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?" can not work &quo ...

  6. [初读笔记] Cloud Migration Research: A Systematic Review (TCC, 2013)

    Pooyan Jamshidi, Aakash Ahmad, Claus Pahl, "Cloud Migration Research: A Systematic Review," ...

  7. IE11兼容性设定

    增加browser文件,如下:  <browsers>   <browser refID="Default">     <capabilities&g ...

  8. __new__ 的简单应用

    用__new__与__init__不同,通过继承内建类型对象,__new__可以用来创建一个简单的新类型,在__new__加入一些动作以完成创建. class RoundFloat(float): d ...

  9. STAF自动化测试框架

    STAF自动化测试框架介绍 http://baike.baidu.com/link?url=9oPZN3JntRakidI7xizqCbyGRISMvCKGfXHBB_WH7OAkKjAKZjq88q ...

  10. POJ 2083 Fractal

    Fractal Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 6646   Accepted: 3297 Descripti ...