资源描述:
《sqlserver复制表结构复制表数据》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、现有数据库a和数据库b,数据库a里有表tablel,数据库b里有表table2.现在.要把表tablel里的记录S制到table2屮,不同情况采用不同方法:1.tablel和table2表结构相同usebinsertintotable2select*froma.dbo.tablel2.tablel和table2表结构不相同usebinsertintotable2(cl,c2)selectcl,c2froma.dbo.tablelcoolxiaoyi:cl,c2为恶要复制的列。3.如果还没有创建表ta
2、ble2,可以直接将tablel的表结构和记录都复制到数据库b中usebselect*intotable2froma.dbo.tablelcoolxiaoyi:这样做有一个问题,就是有吋主外键关系不能复制过去(不知道什么原因),需要在执行完sql语句后自己再设置一下主外键。4.注意table2中是否有自増长字段如果有自增长字段,使用以上sql语句时会报错:仅当使用了列列表并且IDENTITYJNSERT为ON时,才能为表1table2'中的标识列指定显式值。coolxiaoyi:可以先修改table
3、2表,去掉自增忪标识,复制完记录后再修改回来。或者用2.屮的sql语句,不复制自增长字段,复制其他字段。sqlserver复制表结构,复制表数据*同一机器上sqlserver复制表结构及数据收藏一简单的复制复制表1巾id,r_p,r_pl,r_p2,r_p3,r_p4到表2的rjd,x_p,x_pI,x_p2,x_p3巾,x_id力以固定值(1>。主要是方便从某表初始化某些值insertinto表2(x_id,r_id,x_p,x_pI,x_p2,x_p3)selectl,id,r_p,r_pl,r
4、_p2,r_p3from表1二所有表数据一起复制(一个数据库中的所有表结构及数据一•起复制到一个新的数据库中h在企业管理器中,打开数据库,选择右侧的表,右击“表”,选择“导出数据”,选好源数据库和目的数据库后,从源数据库复制表和视图"sqlserver复制表结构在企业管理器中,全选想要复制的表,右击所有任务/生成SQL脚本.保存为一个*.sql文件.再在查询分析器屮打开.在菜单栏下而屮间位置,选择一个数裾库,然后把刚才保存的sql文件S制进去,点勾,再按F5执行.表结构fi制成功.复制表数据使用SQ
5、LServer2000自带的“生成SQL脚本”工具,可以生成创建表、视图、存储过程等的SQL脚本。那么,能否将表屮的数据也生成为SQL脚本,在査询分析器中执行这些脚本后自动将数据导入到SQLServer中呢?答案是肯定的。下面的存储过程是一位高人写的,这位高人的姓氏己无人知晓,但还可看到此不朽之作。CREATEPROCEDUREdbo.OutputData@tablenamesysnameASdeclare@columnvarchar(lOOO)declare@columndatavarchar(l
6、OOO)declare@sqlvarchar(4000)declare@xtypetinyintdeclare@namesysnamedeclare@objectldintdeclare@objectnamesysnamedeclare@identintsetnocountonset@objectld=object」d(@tablename)if@objectldisnull-判断对象是否存在beginprint@tablename+1对象不存在1returnendset@objectname=rt
7、rim(object_name(@objectld))if@objectnameisnullorcharindex(@objectname,@tablename)=0beginprint@tablename+'对象不在当前数据库巾1returnendifOBJECTPROPERTY((Sobjectld/lsTable*)-判断对象是否是表beginprint@tablename+1对象不是表1returnendselect@ident=status&0x80fromsyscolumnswheres
8、tatus&0x80=0x80if@identisnotnullprint'SETIDENTITYJNSERT'+@TableName+'ON*•-定义游标,循环取数据并生成Insert语句declaresyscolumns_cursorcursorforSQLServer社区中偶尔id=@objectidandselectc.name,c.xtypefromsyscolumnscwherec.id=@objectidorderbyc.colid-打开游标opensy