前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SQL SERVER将查询数据转为INSERT语句

SQL SERVER将查询数据转为INSERT语句

作者头像
BrianLee
发布2022-05-30 14:19:39
1.9K0
发布2022-05-30 14:19:39
举报
文章被收录于专栏:用户1031264的专栏

1、在Sql Server数据库中创建存储过程

个人感觉挺有用,Mark一下。

代码语言:javascript
复制
CREATE PROC sp_Data2InsertSQL
@TableName AS VARCHAR(100)
AS
 
DECLARE	xCursor CURSOR FOR
 
SELECT name,xusertype
FROM syscolumns
WHERE (id = OBJECT_ID(@TableName))
 
DECLARE @F1 VARCHAR(100)
DECLARE @F2 integer
DECLARE @SQL varchar(8000)
 
SET @sql ='SELECT ''INSERT INTO ' + @TableName + ' VALUES('''
 
OPEN xCursor
FETCH xCursor INTO @F1,@F2
WHILE @@FETCH_STATUS = 0
 
BEGIN
SET @sql = @sql + ''
      + CASE WHEN @F2 IN (35,58,99,167,175,231,239,61) then ' + CASE WHEN ' + 
        @F1 + ' IS NULL THEN '''' ELSE '''''''' END + ' ELSE '+' END 
      + 'REPLACE(ISNULL(CAST(' + @F1 + ' AS VARCHAR(8000)),''NULL''),'''''''','''''''''''')'     
      + CASE WHEN @F2 IN (35,58,99,167,175,231,239,61) THEN ' + CASE WHEN ' + 
        @F1 + ' IS NULL THEN '''' ELSE '''''''' END + ' ELSE '+' END    
      + CHAR(13) + ''','''
FETCH NEXT FROM xCursor INTO @F1,@F2
END
 
CLOSE xCursor
 
DEALLOCATE xCursor
 
SET @sql = LEFT(@sql,LEN(@sql) - 5) + ' + '')'' FROM ' + @TableName
 
EXEC (@sql)
 
GO

2、执行存储过程

代码语言:javascript
复制
// 输入代码内容

EXEC sp_Data2InsertSQL YourTable

3、转发地址:

https://blog.csdn.net/wyx177694333/article/details/8211229?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0-8211229-blog-45166391.pc_relevant_scanpaymentv1&spm=1001.2101.3001.4242.1&utm_relevant_index=3

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、在Sql Server数据库中创建存储过程
  • 2、执行存储过程
  • 3、转发地址:
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档