對單錶資料生成insert語句

2022-05-08 12:33:12 字數 991 閱讀 7477

/*功能:對單錶資料生成insert語句

約束:1. 只能單錶

2. insert語句包括主鍵資料

3. 不進行資料有效性檢查

4. 採用了簡單資料處理,如果對錶中含了不可轉換成varchar的列,則有可能失敗

5. 行中有null值的行將失敗

6. 執行生成的insert語句組前,如果表有自編號字段,請先使用set  identity_insert 表名 on,允許insert自動編號資料

declare @sqlstr varchar(max)

select @sqlstr=''

declare @fldlist varchar(max),@flsvaluelist varchar(max)

select @fldlist='',@flsvaluelist=''

select

@fldlist = @fldlist + case when len(@fldlist)>0 then ',' else '' end + cols.[name],

@flsvaluelist = @flsvaluelist + case when len(@flsvaluelist)>0 then ',' else '' end + '''''''+cast(' + cols.[name] + ' as varchar(max))+'''''''

from

(select * from sysobjects where xtype='u') tbls

inner join syscolumns cols on cols.id=tbls.id

where tbls.[name] in (@tablename)

select @sqlstr='select ''insert into ' + @tablename + '(' + @fldlist + ') values (' + @flsvaluelist + ')'' from ' + @tablename

execute(@sqlstr)

將表中的資料生成INSERT語句

create procedure dbo outputdata tablename varchar 100 表名 asdeclare isidentity int declare columnname varchar 100 列名 declare typename varchar 100 資料型別 ...

將表資料生成Insert插入語句

參考一下這個 將表資料生成sql指令碼的儲存過程 create procedure dbo.uspoutputdata declare tablename sysname select tablename dbo.sys roleinfo 表名 declare column varchar 1000...

excel生成insert語句

在需要生成sql的資料 後面輸入如下語句 concatenate insert into bts business2.b bts hive plan target date,plan id,version id,target name,target value values a2,b2,c2,d2,...