现有数据库a和数据库b,数据库a里有表table1,数据库b里有表table2.
现在要把表table1里的记录复制到table2中,不同情况采用不同方法:
1.table1和table2表结构相同
useb
insertintotable2select*froma.dbo.table1
2.table1和table2表结构不相同
useb
insertintotable2(c1,c2)selectc1,c2froma.dbo.table1
coolxiaoyi:c1,c2为需要复制的列。
3.如果还没有创建表table2,可以直接将table1的表结构和记录都复制到数据库b中
useb
select*intotable2froma.dbo.table1
coolxiaoyi:这样做有一个问题,就是有时主外键关系不能复制过去(不知道什么原因),需要在执行完sql语句后自己再设置一下主外键。
4.注意table2中是否有自增长字段
如果有自增长字段,使用以上sql语句时会报错:仅当使用了列列表并且IDENTITY_INSERT为ON时,才能为表'table2'中的标识列指定显式值。
coolxiaoyi:可以先修改table2表,去掉自增长标识,复制完记录后再修改回来。
或者用2.中的sql语句,不复制自增长字段,复制其他字段。
sqlserver复制表结构,复制表数据
*同一机器上sqlserver复制表结构及数据收藏
一简单的复制
复制表1中id,r_p,r_p1,r_p2,r_p3,r_p4到表2的r_id,x_p,x_p1,x_p2,x_p3中,x_id为以固定值(1)。主要是方便从某表初始化某些值
insertinto表2(x_id,r_id,x_p,x_p1,x_p2,x_p3)select1,id,r_p,r_p1,r_p2,r_p3from表1
二所有表数据一起复制(一个数据库中的所有表结构及数据一起复制到
新闻热点
疑难解答