在项目中可能需要用到同表数据复制,如:两笔记录除了日期和ROWID(自动编号)其他数据均是一模一样,一般的办法就是读取出来然后再插进去,即使写到存储过程里面也一样需要执行两条SQL语句,效率也比较低的。一条语句进行复制数据:
insert
into
new_table_name(column1,column2,column3,column4)
select
column1,column2,column3,column4
from
table_name
where
...
new_table_name和table_name指向同一个表就能往同一个达到同表复制的效果。但是可能需要部分复制,另外的数据需要传入参数或者如getdate()等,可以如下:
insert
into
table_name(column1,column2,column3,column4,column5,column6)
select
column1,column2,column3,column4,
getdate
(),
'
test
'
from
table_name
where
...
问题解决!!注意字段对应和数据类型对应!!
本文转自over140 51CTO博客,原文链接:http://blog.51cto.com/over140/586726,如需转载请自行联系原作者