自动生成INSERT语句的SQL存储过程

自动生成INSERT语句的SQL存储过程,第1张

概述自动生成INSERT语句的SQL存储过程

下面是内存溢出 jb51.cc 通过网络收集整理的代码片段。

内存溢出小编现在分享给大家,也给大家做个参考。

 CREATE PROCEDURE #usp_GenInsertsql (@tablename VARCHAR(256))AS  BEGIN      DECLARE @sql VARCHAR(MAX)      DECLARE @sqlValues VARCHAR(MAX)      SET @sql =' ('      SET @sqlValues = 'values (''+'      SELECT @sqlValues = @sqlValues + cols + ' + '','' + ',@sql = @sql + QUOTEname(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                       'case when ' + name                       +                       ' is null then ''NulL'' else '                                                     + ''''''''' + ' + 'cast(' +                       name                                                     +                                                     ' as varchar)'                                                     + '+''''''''' + ' end'                       WHEN xtype = 167  THEN 'case when ' + name                                                  +                       ' is null then ''NulL'' else '                                                  + ''''''''' + ' + 'replace(' +                                                  name                                                  + ','''''''','''''''''''')' +                                                  '+'''''''''                                                  + ' end'                       WHEN xtype = 231  THEN 'case when ' + name                                                  +                       ' is null then ''NulL'' else '                                                  + '''N'''''' + ' + 'replace('                                                  +                                                  name                                                  + ','''''''''''')' +                                                  '+'''''''''                                                  + ' end'                       WHEN xtype = 175  THEN                       'case when ' + name                       + ' is null then ''NulL'' else '                       + ''''''''' + ' + 'cast(replace(' +                       name                       + ','''''''''''') as Char('                       + Cast(length AS VARCHAR) +                       '))+'''''''''                       + ' end'                       WHEN xtype = 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 + ';'      EXEC (@sql)  ENDgoEXEC #usp_GenInsertsql  test  

以上是内存溢出(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

总结

以上是内存溢出为你收集整理的自动生成INSERT语句的SQL存储过程全部内容,希望文章能够帮你解决自动生成INSERT语句的SQL存储过程所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/sjk/1164270.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-01
下一篇2022-06-01

发表评论

登录后才能评论

评论列表(0条)

    保存