打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
自动生成表记录Insert的SQL语句
  
  declare @tablename VARCHAR(256)
  set @tablename='MyDB'
  
  
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  
          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  )  
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
表中的数据导出为insert语句
收藏几段SQL语句和存储过程
将sql server表中的数据导出为inert into语句的形式
Sql server中用现有表中的数据创建Sql的Insert插入语句
精妙SQL语句
将表里的数据批量生成INSERT语句的存储过程 增强版
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服