sql server 复制表结构,复制表数据_第1页
sql server 复制表结构,复制表数据_第2页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

现有数据库a和数据库b,数据库a里有表tablel,数据库b里有表table2.现在要把表table1里的记录复制到table2中,不同情况采用不同方法:table1和table2表结构相同usebinsertintotable2select*froma.dbo.tableltable1和table2表结构不相同usebinsertintotable2(cl,c2)selectcl,c2froma.dbo.tablelcoolxiaoyi:cl,c2为需要复制的列。如果还没有创建表table2,可以直接将tablel的表结构和记录都复制到数据库b中usebselect*intotable2froma.dbo.tablelcoolxiaoyi:这样做有一个问题,就是有时主外键关系不能复制过去(不知道什么原因),需要在执行完sql语句后自己再设置一下主外键。注意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二所有表数据一起复制(一个数据库中的所有表结构及数据一起复制到一个新的数据库中):在企业管理器中,打开数据库,选择右侧的表,右击“表”,选择“导出数据”,选好源数据库和目的数据库后,从源数据库复制表和视图"sqlserver复制表结构在企业管理器中,全选想要复制的表,右击所有任务/生成SQL脚本.保存为一个*.sql文件.再在查询分析器中打开•在菜单栏下面中间位置,选择一个数据库,然后把刚才保存的sql文件复制进去,点勾,再按F5执行•表结构复制成功.复制表数据

使用SQLServer2000自带的“生成SQL脚本”工具,可以生成创建表、视图、存储过程等的SQL脚本。那么,能否将表中的数据也生成为SQL脚本,在查询分析器中执行这些脚本后自动将数据导入到SQLServer中呢?答案是肯定的。下面的存储过程是一位高人写的,这位高人的姓氏已无人知晓,但SQLServer社区中偶尔还可看到此不朽之作。CREATEPROCEDUREdbo.OutputData@tablenamesysnameASdeclare@columnvarchar(1000)declare@columndatavarchar(1000)declare@sqlvarchar(4000)declare@xtypetinyintdeclare@namesysnamedeclare@objectIdintdeclare@objectnamesysnamedeclare@identintsetnocountonset@objectId=object_id(@tablename)if@objectIdisnull--判断对象是否存在beginprint@tablename+'对象不存在'returnendset@objectname=rtrim(object_name(@objectId))if@objectnameisnullorcharindex(@objectname,@tablename)=0beginprint@tablename+'对象不在当前数据库中'returnendifOBJECTPROPERTY(@objectId,'IsTable')beginprint@tablename+'对象不是表'returnendselect@ident=status&0x80fromstatus&0x80=0x80if@identisnotnullprint'SETIDENTITY_INSERT--定义游标,循环取数据并生成Insert语句declaresyscolumns_,c.xtypefrom<>1--判断对象是否是表syscolumnswhereid=@objectid'+@TableName+'ON'syscolumnscandwherec.id=@objectidorderbyc.colid--打开游标opensyscolumns_cursorset@column=''set@columndata=''fetchnextfromwhile@@fetch_statusbeginif@@fetch_statusbeginif@xtypeimage,text,ntext,sql_variantbeginsetsyscolumns_cursorinto@name,@xtype<>-1<>-2notin(189,34,35,99,98)暂时不处理--timestamp不需处理,casesetcasecase--varchar,char@column=@column+whenlen(@column)=0then''else','end+@name@columndata=@columndata+whenelseend+whenlen(@columndata)=0then!!!!!!!!@xtypein(167,175)then'''''''''+'+@name+'+'''''''''when@xtypein(231,239)then'''N''''''+'+@name+'+'''''''''--nvarchar,ncharwhen'''''''''+convert(char(23),'+@name+',121)+'''''''''when'''''''''+convert(char(16),'+@name+',120)+'''''''''@xtype=36@xtype=61--datetime@xtype=58--smalldatetimethenthenwhenthen'''''''''+convert(char(36),'+@name+')+'''''''''--uniqueidentifierelse

end@nameendendfetchnextendfromsyscolumns_cursorinto@name,@xtypeclosesyscolumns_cursordeallocatesyscolumns_cursorset@sql='setnocountonvalues(''as''--'','+@columndata+','')''selectfrom''insert'+@tablename+'('+@c

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论