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生成解析xml的另外两种方法Xstream

    Xstream生成和解析xm和JAXB生成和解析xml的方法. 一,Xstream Xstream非jdk自带的,需要到入Xstream-1.4.3.jar和xpp3_min-1.1.4.jar 1. ...

  2. System.Net.WebException : The remote server returned an error: (415) UNSUPPORTED MEDIA TYPE

    I am having problems with a bit of code that accesses a restful web service. Running this code, it e ...

  3. 学习之路三十六:SQL知识总结 - [游标||字符串分割]

    好久没有写文章了,今天把前不久项目用到的SQL知识总结一下. 一丶字符串分割 SQL内置函数中是没有Split分割函数的,所以需要自己去实现,不多说,上代码: )) RETURNS @result T ...

  4. ios辅助功能之voiceover实战

      一个元素朗读的内容可分为以下4个部分(4部分按先后顺序朗读) 1. Label:元素的标题 2. Value:元素的值(可选) 3. Traits:元素的特征,即类型,包含: 按钮/链接/搜索框/ ...

  5. TN035: Using Multiple Resource Files and Header Files with Visual C++

    TN035: Using Multiple Resource Files and Header Files with Visual C++ This note describes how the Vi ...

  6. saiku 展示优化第二步(要诀和技巧)

    经历了上几篇博客的分享,可以无密码登录 : http://www.cnblogs.com/liqiu/p/5246015.html 随着使用的深入,公司需要将现有的报表平台与saiku整合,其中最便捷 ...

  7. 个性化EDM数据营销的三大提醒

    EDM数据营销行业已经进入个性化时代.但是怎样实现个性化仍然是一个重大课题.国内领先的智能化邮件营销服务商Focussend一直致力于探索和研究邮件营销领域的先进知识和做法,旨在为企业和个人提供更多有 ...

  8. .NET 相关工具

    加密工具,反DUMP,反调试,反编译,加密代码资源内容,混淆流程,变量.Confuser is a protector/obfuscator for .NET, providing great sec ...

  9. Android应用如何支持屏幕多尺寸多分辨率问题

    作为Android应用程序开发者都知道android是一个“碎片化”的世界.多种系统版本.多种尺寸.多种分辨率.多种机型,还有不同的厂商定制的不同ROM,你开发的应用会在不可预期的手机上报错.这给开发 ...

  10. Swift初学习

    距离swift发布10天了,也简单看了一下swift的语法,个人感觉相对于object-c很是简单明了.Swift的出现并不能说明iOS开发简单了很多,有可能会变得复杂,你需要学习两门编程语言,因为在 ...