在项目中可能需要用到同表数据复制,如:两笔记录除了日期和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 ...
问题解决!!注意字段对应和数据类型对应!!