你的位置:首页 > 数据库

[数据库]使用SQL语句创建SQL数据脚本(应对万网主机部分不支持导出备份数据)


1、查询待导出表Ad中的数据。
SELECT * FROM [DB_Temp].[dbo].[Ad]



2、编写存储过程。
 1 --将表数据生成SQL脚本的存储过程  2  3 CREATE PROCEDURE dbo.UspOutputData  4 @tablename sysname  5 AS  6 declare @column varchar(1000)  7 declare @columndata varchar(1000)  8 declare @sql varchar(4000)  9 declare @xtype tinyint 10 declare @name sysname 11 declare @objectId int 12 declare @objectname sysname 13 declare @ident int 14 15 set nocount on 16 set @objectId=object_id(@tablename) 17 18 if @objectId is null -- 判断对象是否存在 19 begin 20 print 'The object not exists' 21 return 22 end 23 set @objectname=rtrim(object_name(@objectId)) 24 25 if @objectname is null or charindex(@objectname,@tablename)=0 --此判断不严密 26 begin 27 print 'object not in current database' 28 return 29 end 30 31 if OBJECTPROPERTY(@objectId,'IsTable') < > 1 -- 判断对象是否是table 32 begin 33 print 'The object is not table' 34 return 35 end 36 37 select @ident=status&0x80 from syscolumns where id=@objectid and status&0x80=0x80 38 39 if @ident is not null 40 print 'SET IDENTITY_INSERT '+@TableName+' ON' 41 42 declare syscolumns_cursor cursor 43 44 for select c.name,c.xtype from syscolumns c where c.id=@objectid order by c.colid 45 46 open syscolumns_cursor 47 set @column='' 48 set @columndata='' 49 fetch next from syscolumns_cursor into @name,@xtype 50 51 while @@fetch_status < >-1 52 begin 53 if @@fetch_status < >-2 54 begin 55 if @xtype not in(189,34,35,99,98) --timestamp不需处理,image,text,ntext,sql_variant 暂时不处理 56 57 begin 58 set @column=@column+case when len(@column)=0 then'' else ','end+@name 59 60 set @columndata=@columndata+case when len(@columndata)=0 then '' else ','','',' 61 end 62 63 +case when @xtype in(167,175) then '''''''''+'+@name+'+''''''''' --varchar,char 64 when @xtype in(231,239) then '''N''''''+'+@name+'+''''''''' --nvarchar,nchar 65 when @xtype=61 then '''''''''+convert(char(23),'+@name+',121)+''''''''' --datetime 66 when @xtype=58 then '''''''''+convert(char(16),'+@name+',120)+''''''''' --smalldatetime 67 when @xtype=36 then '''''''''+convert(char(36),'+@name+')+''''''''' --uniqueidentifier 68 else @name end 69 70 end 71 72 end 73 74 fetch next from syscolumns_cursor into @name,@xtype 75 76 end 77 78 close syscolumns_cursor 79 deallocate syscolumns_cursor 80 81 set @sql='set nocount on select ''insert '+@tablename+'('+@column+') values(''as ''--'','+@columndata+','')'' from '+@tablename 82 83 print '--'+@sql 84 exec(@sql) 85 86 if @ident is not null 87 print 'SET IDENTITY_INSERT '+@TableName+' OFF' 88 89 GO 90 91 exec UspOutputData 你的表名

View Code
2、执行存储过程

复制第一行数据:
insert Ad(Id,ParentId,Sorts,Name,Width,Height,Url,Pic,Description,Contents,Time) values(  2,1,0,N'广告1',0,0,N'www.baidu.com',N'../../Upload/Download/20150327111437.jpg',N'广告1的内容',N'','2015-03-27 11:14:40.000')


Look!We got it!
存储过程摘自:http://bbs.csdn.net/topics/300135193

 




四川旅游报价价格四川旅游团报价什么时候去四川旅游最好去四川旅游最佳路线四川旅游景点推荐黄姚世外田园景区在哪里?贺州世外田园怎么走? 黄姚古镇距离世外田园多远?黄姚古镇怎么去世外田园? 黄姚世外田园景区一日游费用?世外田园住宿多少钱? 黄姚世外田园玩完要多久?世外田园吃饭多少钱? 番禺宝墨园三月有什么好玩的?宝墨园三月赏花攻略? 中国吴歌之乡 凤凰山景区 2015三八节宝墨园女士免费吗?番禺宝墨园三八妇女节门票价格? 2015深圳花灯会什么时候?深圳花灯元宵节有什么好玩的? 北京街景哪里好?北京有那些漂亮的街道? 迷你暹罗在哪?迷你暹罗好玩吗? 家乡常州 西瀛门的明城墙 浙江人游舟山群岛 骑游舟山活动启动 泰国普吉岛十月份天气如何?穿什么衣服好? 2015年泰国水灯节是几号?好玩? 办理出国旅游签证时要注意什么事项? 去泰国旅游需要什么手续? IDT72V3641L15PFG8 Datasheet IDT72V3641L15PFG8 Datasheet IDT5V9351PFGI Datasheet IDT5V9351PFGI Datasheet IDT71V3558SA100BQ Datasheet IDT71V3558SA100BQ Datasheet 浙江去香港两天一晚游 浙江去香港两天一晚游 浙江去香港两天一晚游 内蒙古去香港两天一晚游 内蒙古去香港两天一晚游 内蒙古去香港两天一晚游 浙江去港澳五天四晚游 浙江去港澳五天四晚游 浙江去港澳五天四晚游