把SQL SERVER里表里的数据导出成为insert into 脚本
来源:互联网 发布:逆波兰式算法 java 编辑:程序博客网 时间:2024/05/22 02:08
转贴一位老兄的文章,懒得细看,先收藏备用。
CREATE PROCEDURE dbo.UspOutputData
@tablename sysname
AS
declare @column varchar(1000)
declare @columndata varchar(1000)
declare @sql varchar(4000)
declare @xtype tinyint
declare @name sysname
declare @objectId int
declare @objectname sysname
declare @ident int
set nocount on
set @objectId=object_id(@tablename)
if @objectId is null -- 判斷對象是否存在
begin
print 'The object not exists'
return
end
set @objectname=object_name(@objectId)
if @objectname is null or charindex(@objectname,@tablename)=0 --此判断不严密
begin
print 'object not in current database'
return
end
if OBJECTPROPERTY(@objectId,'IsTable') <> 1 -- 判斷對象是否是table
begin
print 'The object is not table'
return
end
select @ident=status&0x80 from syscolumns where id=@objectid and status&0x80=0x80
if @ident is not null
print 'SET IDENTITY_INSERT '+@TableName+' ON'
declare syscolumns_cursor cursor
for select c.name,c.xtype from syscolumns c
where c.id=@objectid
order by c.colid
open syscolumns_cursor
set @column=''
set @columndata=''
fetch next from syscolumns_cursor into @name,@xtype
while @@fetch_status <>-1
begin
if @@fetch_status<>-2
begin
if @xtype not in(189,34,35,99,98) --timestamp不需处理,image,text,ntext,sql_variant 暂时不处理
begin
set @column=@column+case when len(@column)=0 then'' else ','end+@name
set @columndata=@columndata+case when len(@columndata)=0 then '' else ','','','end
+case when @xtype in(167,175) then '''''''''+'+@name+'+''''''''' --varchar,char
when @xtype in(231,239) then '''N''''''+'+@name+'+''''''''' --nvarchar,nchar
when @xtype=61 then '''''''''+convert(char(23),'+@name+',121)+''''''''' --datetime
when @xtype=58 then '''''''''+convert(char(16),'+@name+',120)+''''''''' --smalldatetime
when @xtype=36 then '''''''''+convert(char(36),'+@name+')+''''''''' --uniqueidentifier
else @name end
end
end
fetch next from syscolumns_cursor into @name,@xtype
end
close syscolumns_cursor
deallocate syscolumns_cursor
set @sql='set nocount on select ''insert '+@tablename+'('+@column+') values(''as ''--'','+@columndata+','')'' from '+@tablename
print '--'+@sql
exec(@sql)
if @ident is not null
print 'SET IDENTITY_INSERT '+@TableName+' OFF'
GO
执行方法是: exec UspOutputData 你的表名
得到导出
- 把SQL SERVER里表里的数据导出成为insert into 脚本
- 把SQL SERVER里表里的数据导出成为insert into 脚本
- 把SQL SERVER里表里的数据导出成为insert into 脚本
- 把SQL SERVER里表里的数据导出成为insert into 脚本
- 如何把SQL SERVER里表里的数据导出成为insert into 脚本
- 把SQL SERVER里表里的数据导出成为insert into 脚本,终于找到这个过程了
- SQL SERVER:把表里的数据导出成为INSERT INTO脚本的存储过程
- SQL SERVER:把表里的数据导出成为INSERT INTO脚本的存储过程
- 将Oracle表里的数据导出生成insert into 脚本
- SQL Server 2005 导出包含(insert into)数据的SQL脚本 (使用存储过程)
- SQL Server 2005 导出包含(insert into)数据的SQL脚本 (使用存储过程)
- 把表里的数据导出生成脚本
- sql server 数据库导出表里所有数据成insert 语句
- sql server 数据库导出表里所有数据成insert 语句
- 实现将SQLServer表里的数据导出为insert脚本
- sql2005数据导出sql脚本为insert into
- sql2005数据导出sql脚本为insert into
- 用PL/SQL Developer 把oracle表里的数据导成insert语句(不积跬步,无以至千里)
- windows 常见小故障解决方法(总结)
- windows 常用命令总结
- java虚拟机简介
- 北漂一族年终总结:在北京混必备的六大能力
- Platform Notes - Qt/Embedded 3 on Linux
- 把SQL SERVER里表里的数据导出成为insert into 脚本
- C语言宏定义技巧
- 用javascript 动态改变iframe 的src 属性
- ibatis eclipse插件和配置文件的使用
- avr的外部中断
- 如何在Eclipse中使用ibatis的自动代码生成工具Abator
- C语言难点分析整理
- 08春晚本山跟德纲节目提前曝光
- java操作文本文件