CREATEPROCEDUREdbo.UspOutputData @tablenamesysname AS declare@columnvarchar(1000) declare@columndatavarchar(1000) declare@sqlvarchar(4000) declare@xtypetinyint declare@namesysname declare@objectIdint declare@objectnamesysname declare@identint
setnocounton set@objectId=object_id(@tablename)
if@objectIdisnull--判断对象是否存在 begin print'Theobjectnotexists' return end set@objectname=rtrim(object_name(@objectId))
if@objectnameisnullorcharindex(@objectname,@tablename)=0--此判断不严密 begin print'objectnotincurrentdatabase' return end
ifOBJECTPROPERTY(@objectId,'IsTable')<>1--判断对象是否是table begin print'Theobjectisnottable' return end
select@ident=status&0x80fromsyscolumnswhereid=@objectidandstatus&0x80=0x80
if@identisnotnull print'SETIDENTITY_INSERT'+@TableName+'ON'
declaresyscolumns_cursorcursor
forselectc.name,c.xtypefromsyscolumnscwherec.id=@objectidorderbyc.colid
opensyscolumns_cursor set@column='' set@columndata='' fetchnextfromsyscolumns_cursorinto@name,@xtype
while@@fetch_status<>-1 begin if@@fetch_status<>-2 begin if@xtypenotin(189,34,35,99,98)--timestamp不需处理,image,text,ntext,sql_variant暂时不处理
begin set@column=@column+casewhenlen(@column)=0then''else','end+@name
set@columndata=@columndata+casewhenlen(@columndata)=0then''else','','',' end
+casewhen@xtypein(167,175)then'''''''''+'+@name+'+'''''''''--varchar,char when@xtypein(231,239)then'''N''''''+'+@name+'+'''''''''--nvarchar,nchar when@xtype=61then'''''''''+convert(char(23),'+@name+',121)+'''''''''--datetime when@xtype=58then'''''''''+convert(char(16),'+@name+',120)+'''''''''--smalldatetime when@xtype=36then'''''''''+convert(char(36),'+@name+')+'''''''''--uniqueidentifier else@nameend
end
end
fetchnextfromsyscolumns_cursorinto@name,@xtype
end
closesyscolumns_cursor deallocatesyscolumns_cursor
set@sql='setnocountonselect''insert'+@tablename+'('+@column+')values(''as''--'','+@columndata+','')''from'+@tablename
print'--'+@sql exec(@sql)
if@identisnotnull print'SETIDENTITY_INSERT'+@TableName+'OFF'
GO
|
相关推荐
可以将数据库中的数据导出insert into脚本, sql server2008以上版本已经自带导出数据库数据成insert脚本功能,该工具针对2005以下版本.使用时先选择数据库服务器地址,在右侧选择Sql Server login,输入数据库账号...
sqlserver表数据生成insertsql脚本(导出成insertsql脚本).pdf
sql server 生成 insert 脚本 工具 (别人的,呵呵,感觉不错)
可以根据表内容自动生成insert 脚本,select 脚本,update脚本; blob和text数据类型的字段不支持。 可以方便定制需要的字段和条件。 维护SQL server 十分方便的小工具。 在不同数据库或服务器之间传递数据非常...
SQL SERVER:把表里的数据导出成为INSERT INTO脚本的存储过程
主要用于弥补sqlserver2005/2000生成脚本无法连带生成表内数据的短板,一键生成脚本,解决了编写大量繁琐的执行语句的问题。
数据同步小工具,将数据库中的表的数据生成insert语句
SQLSERVER脚本生成工具,表数据生成SQL脚本,方便数据库数据生成,快速生成脚本,事半功倍。
从SQLSERVER数据库中导出记录生成insert into 语句
此工具可以将SQL Server表数据导出成Insert语句。SQL Server的导入导出功能可以导出创建数据库各对象的脚本,却不提供导出目标表的现有数据为Insert语句的功能,此工具可以将SQL Server表数据导出成Insert语句。
SQL数据表批量生成Insert语句存储过程,使用方法是 先下载资源后解压缩后,在数据库里执行创建存储过程, 然后执行 存储'表名' 看看查询结果会让你欣喜吧,全都是批量的insert语句了..呵呵.
SqlServer 生成数据库字典 SQL脚本,本人自己编写,自己用,非常方便的,源码可以根据需要修改
生成数据库脚本的生成工具,简单易用,无需安装!
SQLSERVER生成数据脚本软件 可生成表结构和表数据的sql语句
为SQL Server 2000数据库的表中数据生成脚本,便于初始化数据库、数据导出和转移
SQLServer生成所有外键存储过程,需要一次性将所有varchar改为Nvarchar,有些表具有外键限制不能用代码改。用这个过程,不用再每个表都检查了,不然天量的字段,改到什么时候哦。
一款可自定义条件导出数据工具。SQLSERVER版数据库Insert语句生成工具。 因SQL server management studio及其它三方数据库管理工具无法做到导出SQL server数据库指定条件的数据。所以小编介绍一种python编写的脚本。
这个是用SQL server写的存储过程,搭配里面一张数据表使用,达到高并发情况下获得唯一订单号的目的;原理:按照一定规则生成订单号后,把订单号插入数据表后,再返回给用户,由于数据表设置了主键,也就是当数据表中...
2.选中要导出数据的数据库节点,点鼠标右键,在菜单中选择“任务”->“生成脚本”,如图: 3。在弹出的界面中,点2次“下一步”进入如图界面中,把“编写数据的脚步”置为true。 4。其它的操作点“下一步”即可。...
小工具,我有时用这个来给数据库中表里面的数据行生成Insert脚本,给软件升级时,制作sql更新脚本时会用到。