首页 > 数据库 >SQL SERVER将查询数据转为INSERT语句

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

时间:2022-09-26 09:37:39浏览次数:78  
标签:INSERT F2 END F1 sql WHEN SERVER SQL xCursor

记录下,DBeaver可视化工具上也有这个功能
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)


// 输入代码内容

EXEC sp_Data2InsertSQL YourTable
转载
https://cloud.tencent.com/developer/article/2013151

标签:INSERT,F2,END,F1,sql,WHEN,SERVER,SQL,xCursor
From: https://www.cnblogs.com/liyiren/p/16729754.html

相关文章

  • Flask 学习-78.Flask-SQLAlchemy 一对多关系
    前言一个人有多个收件地址,这就是一对多关系一对多(one-to-many)关系关系使用relationship()函数表示。然而外键必须用类sqlalchemy.schema.ForeignKey来单独声明:c......
  • CAP事件总线在NetCore中的应用+MySql存储队列信息
    上一篇链接:https://www.cnblogs.com/fei686868/p/16721769.html在上一篇中,我们介绍了CAP基于内存存储的应用。本篇我们介绍下,把存储做到mysql中,队列还是使用内存队列。my......
  • MyBatis 多条件查询、动态SQL、多表操作、注解开发,应有尽有,一网打尽!
    来源:iyu77.blog.csdn.net/article/details/125761737MyBatis封装了JDBC通过Mapper代理的方式,以前繁琐的操作通过“属性与字段映射”就简单化解,MyBatis的动态SQL完美展现了......
  • Mybatis的SqlSession把Java Map作为参数
    Mybatis的以下方法,可以有一个参数,也可以有两个参数。如果有两个参数,则第一个参数为SQL语句;第二个参数是Object。sqlSession.insert("insertCar",carMap);以上的"inser......
  • MySQL通过Data恢复数据库
    在真实的开发环境中,服务器突然蹦了,MySQL指令也不行了,备份...。只能通过物理备份Data。那我们如何通过Data恢复数据库。太简单了,只是复制粘贴的是。备份Data。备份Dat......
  • 【MySQL】二级MySQL考试 救场帮助表
     周六去考二级,应用第一题就是添加外键约束草,写了半天老说语法不对,然后急中生智,觉得默认的库里应该有文档说明表以下是SQL查询过程:--猜测是在mysql库里面mysql>USE......
  • 面试官:1亿条数据批量插入 MySQL,哪种方式最快?
    这几天研究mysql优化中查询效率时,发现测试的数据太少(10万级别),利用EXPLAIN比较不同的SQL语句,不能够得到比较有效的测评数据,大多模棱两可,不敢通过这些数据下定论。所......
  • MySQL常用知识点梳理
    删表DROPTABLEIFEXISTS表名;新建表createtable表名(字段名类型约束(逐渐,非空,唯一,默认值),字段名类型约束(逐渐,非空,唯一,默认值),)编码,存储引擎;约束N......
  • 2022-09-25-近60道MySQL经典面试题
    近60道MySQL经典面试题mysql面试常见问题学习整理2.3.17.18.19.20.44未看。1.B树和B+树之间的区别是?为什么mysql使用B+树?一个节点有多个元素;B+树也是排序了的;B+树非叶......
  • MySQL的join算法优化
    在Mysql的实现中,Nested-LoopJoin有3种实现的算法:SimpleNested-LoopJoin:SNLJ,简单嵌套循环连接IndexNested-LoopJoin:INLJ,索引嵌套循环连接BlockNested-LoopJoin:BN......