打印本文 打印本文 关闭窗口 关闭窗口
收藏几段SQL语句和存储过程
作者:武汉SEO闵涛  文章来源:敏韬网  点击数4804  更新时间:2007/11/14 10:58:59  文章录入:mintao  责任编辑:mintao
感谢playyuer

-- ======================================================

CREATE   proc 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 ''''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

上一页  [1] [2] [3] [4] [5] [6] [7] [8]  下一页

打印本文 打印本文 关闭窗口 关闭窗口