濮阳杆衣贸易有限公司

主頁 > 知識庫 > SQL Server存儲過程生成insert語句實(shí)例

SQL Server存儲過程生成insert語句實(shí)例

熱門標(biāo)簽:智能語音車載電話機(jī)器人 陽光創(chuàng)信ai外呼獲客系統(tǒng)助力 貴州外呼回?fù)芟到y(tǒng)是什么 云南全自動外呼系統(tǒng)公司 競圣地圖標(biāo)注服務(wù) 衛(wèi)星地圖標(biāo)注距離 智能外呼系統(tǒng)需要多少錢 外呼系統(tǒng)的話術(shù) 安陽天音防封電銷卡

你肯定有過這樣的煩惱,同樣的表,不同的數(shù)據(jù)庫,加入你不能執(zhí)行select  insert
那么你肯定需要一條這樣的存儲過程,之需要傳入表明,就會給你生成數(shù)據(jù)的插入語句。
當(dāng)然數(shù)據(jù)表數(shù)量太大,你將最好用別的方式

復(fù)制代碼 代碼如下:

Create   proc [dbo].[spGenInsertSQL] (@tablename varchar(256))
as
begin
declare @sql varchar(8000)
declare @sqlValues varchar(8000)
set @sql =' ('
set @sqlValues = 'values (''+'
select @sqlValues = @sqlValues + cols + ' + '','' + ' ,@sql = @sql + '[' + name + '],'
from
      (select case
                when xtype in (48,52,56,59,60,62,104,106,108,122,127)      

                     then 'case when '+ name +' is null then ''NULL'' else ' + 'cast('+ name + ' as varchar)'+' end'

                when xtype in (58,61)
                     --then '''''''''+convert(char(23),'+name+',121)+''''''''' --datetime   
                     then 'case when '+ name +' is null then ''NULL'' else '+''''''''' + ' + 'cast('+ name +' as varchar)'+ '+'''''''''+' end'

               when xtype in (167)

                     then 'case when '+ name +' is null then ''NULL'' else '+''''''''' + ' + 'replace('+ name+','''''''','''''''''''')' + '+'''''''''+' end'

                when xtype in (231)

                     then 'case when '+ name +' is null then ''NULL'' else '+'''N'''''' + ' + 'replace('+ name+','''''''','''''''''''')' + '+'''''''''+' end'

                when xtype in (175)

                     then 'case when '+ name +' is null then ''NULL'' else '+''''''''' + ' + 'cast(replace('+ name+','''''''','''''''''''') as Char(' + cast(length as varchar) + '))+'''''''''+' end'

                when xtype in (239)

                     then 'case when '+ name +' is null then ''NULL'' else '+'''N'''''' + ' + 'cast(replace('+ name+','''''''','''''''''''') as Char(' + cast(length as varchar) + '))+'''''''''+' end'

                else '''NULL'''

              end as Cols,name

         from syscolumns

        where id = object_id(@tablename)

      ) T
set @sql ='select ''INSERT INTO ['+ @tablename + ']' + left(@sql,len(@sql)-1)+') ' + left(@sqlValues,len(@sqlValues)-4) + ')'' from '+@tablename
print @sql
exec (@sql)
end

SQL語句

最后的結(jié)果:
INSERT INTO [SysSample] ([Id],[Name],[Age],[Bir],[Photo],[Note],[CreateTime]) values ('0002CA83-AF2F-4D8F-A345-33CA1CC7CF3C','任務(wù)調(diào)度系統(tǒng)',18,'2013-01-02 21:42:30.013','',NULL,'2013-01-02 21:42:30.013')
INSERT INTO [SysSample] ([Id],[Name],[Age],[Bir],[Photo],[Note],[CreateTime]) values ('0004A6F3-EC28-4D1F-BA40-0FC4B2218C92','任務(wù)調(diào)度系統(tǒng)',18,'2013-07-09 19:36:00.060','',NULL,'2013-07-09 19:36:00.060')
INSERT INTO [SysSample] ([Id],[Name],[Age],[Bir],[Photo],[Note],[CreateTime]) values ('00094D35-7B51-4EA3-871E-CE17E293B157','任務(wù)調(diào)度系統(tǒng)',18,'2013-05-16 15:21:20.070','',NULL,'2013-05-16 15:21:20.070')
INSERT INTO [SysSample] ([Id],[Name],[Age],[Bir],[Photo],[Note],[CreateTime]) values ('000BFBB0-B37D-4D6E-9FA2-3069D4F18F84','任務(wù)調(diào)度系統(tǒng)',18,'2013-04-11 11:41:50.030','',NULL,'2013-04-11 11:41:50.030')
INSERT INTO [SysSample] ([Id],[Name],[Age],[Bir],[Photo],[Note],[CreateTime]) values ('000C2CBC-E358-4469-BC2C-04F4DDCD72CD','任務(wù)調(diào)度系統(tǒng)',18,'2013-05-06 16:07:00.037','',NULL,'2013-05-06 16:07:00.037')
INSERT INTO [SysSample] ([Id],[Name],[Age],[Bir],[Photo],[Note],[CreateTime]) values ('000CB795-40EC-4783-B7A4-8D298DF63B70','任務(wù)調(diào)度系統(tǒng)',18,'2013-01-23 20:52:30.030','',NULL,'2013-01-23 20:52:30.030')

您可能感興趣的文章:
  • 使用BULK INSERT大批量導(dǎo)入數(shù)據(jù) SQLSERVER
  • oracle+mybatis 使用動態(tài)Sql當(dāng)插入字段不確定的情況下實(shí)現(xiàn)批量insert
  • 將表里的數(shù)據(jù)批量生成INSERT語句的存儲過程 增強(qiáng)版

標(biāo)簽:湘潭 河源 預(yù)約服務(wù) 鄂爾多斯 周口 營口 寧夏 欽州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《SQL Server存儲過程生成insert語句實(shí)例》,本文關(guān)鍵詞  SQL,Server,存儲,過程,生成,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《SQL Server存儲過程生成insert語句實(shí)例》相關(guān)的同類信息!
  • 本頁收集關(guān)于SQL Server存儲過程生成insert語句實(shí)例的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    进贤县| 左云县| 郎溪县| 莱芜市| 松原市| 元谋县| 漳平市| 简阳市| 河池市| 台东县| 罗城| 湘阴县| 廉江市| 玉环县| 黔南| 土默特右旗| 临湘市| 九台市| 阿克| 宁夏| 无为县| 吉隆县| 弥渡县| 鹤壁市| 新宾| 定远县| 昌江| 五大连池市| 六安市| 连城县| 庆元县| 耒阳市| 依兰县| 伊宁县| 伊春市| 日喀则市| 蒙山县| 壶关县| 南乐县| 亳州市| 繁昌县|