SELECT INTO 和 INSERT INTO SELECT 两种表复制语句 (以后在写SQL时,要有这种思想!!!)

  今天天在工作中看到了一个业务要求,具体要求是这样的,根据一堆条件从一个表中查询出符合条件的ID,然后把这个ID插入到一张表中。

       技术是使用iBaits和数据库连接,当时我的第一反应是两次查询,先得到ID,在更新。

但是在我看了例子之后,觉得例子实在是写的太好了。只是用了一条SQL语句。

      这就是  INSERT INTO SELECT

      总结,写程序思想很重要,这就是思想!


      在网上查了资料如下:

 

 

         Insert是T-sql中常用语句,Insert INTO table(field1,field2,...) values(value1,value2,...)这种形式的在应用程序开发中必不可少。但我们在开发、测试过程中,经常会遇到需要表复制的情况,如将 一个table1的数据的部分字段复制到table2中,或者将整个table1复制到table2中,这时候我们就要使用 SELECT INTOINSERT INTO SELECT 表复制语句 了。

 


      1. INSERT INTO SELECT 语句

      语句形式为: Insert into Table2(field1,field2,...) select value1,value2,... from Table1

      要求目标表Table2必须存在 ,由于目标表Table2已经存在,所以我们除了插入源表Table1的字段外,还可以插入常量。示例如下:


INSERT INTO SELECT语句复制表数据


 

 

 

 

2. SELECT INTO FROM 语句

      语句形式为: SELECT vale1, value2 into Table2 from Table1

      要求目标表Table2不存在 ,因为在插入时会自动创建表Table2,并将Table1中指定字段数据复制到Table2中。 示例如下:


SELECT INTO FROM创建表并复制表数据

 

 

来源:http://www.cnblogs.com/freshman0216/archive/2008/08/15/1268316.html



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值