Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >SQL SERVER将查询数据转为INSERT语句

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

作者头像
BrianLee
发布于 2022-05-30 06:19:39
发布于 2022-05-30 06:19:39
2.1K00
代码可运行
举报
运行总次数:0
代码可运行

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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
代码运行次数:0
运行
AI代码解释
复制
// 输入代码内容

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 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
sql server根据表中数据生成insert语句
修正了表中的字段如果是SQL中的关键字(如Order)时,生成的脚本执行会出错的bug
跟着阿笨一起玩NET
2018/09/18
1.8K0
SQL Server 存储过程生成insert语句
你肯定有过这样的烦恼,同样的表,不同的数据库,加入你不能执行select  insert 那么你肯定需要一条这样的存储过程,之需要传入表明,就会给你生成数据的插入语句。 当然数据表数量太大,你将最好用别的方式 Create proc [dbo].[spGenInsertSQL] (@tablename varchar(256)) as begin declare @sql varchar(8000) declare @sqlValues varchar(8000) set @sql =' (' set
用户1149182
2018/01/16
2K0
Sql Server 中 根据具体的值 查找该值所在的表和字段
在我们的工作中经常遇到这样一个问题,在页面中保存一条数据,有个字段值为“张三”,但是,不知道这条数据保存在了哪个表中,现在我们想要追踪该值是存储到了那个表的那个字段中,具体要怎么操作呢?下面我们可以借助存储过程来解决这一问题
jamesjiang
2022/11/20
7.9K0
Sql Server 中 根据具体的值 查找该值所在的表和字段
用Sql生成数据插入Sql脚本
CREATE PROCEDURE dbo.UspOutputData @tablename sysname AS declare @column varchar(1000) declare @columndata varchar(1000) declare @sql varchar(4000) declare @xtype tinyint declare @name sysname declare @objectId int declare @objectname sysname decl
脑洞的蜂蜜
2018/02/01
1.4K0
SQL注入攻防入门详解
毕业开始从事winfrm到今年转到 web ,在码农届已经足足混了快接近3年了,但是对安全方面的知识依旧薄弱,事实上是没机会接触相关开发……必须的各种借口。这几天把sql注入的相关知识整理了下,希望大家多多提意见。 (对于sql注入的攻防,我只用过简单拼接字符串的注入及参数化查询,可以说没什么好经验,为避免后知后觉的犯下大错,专门查看大量前辈们的心得,这方面的资料颇多,将其精简出自己觉得重要的,就成了该文) 下面的程序方案是采用 ASP.NET + MSSQL,其他技术在设置上会有少许不同。 示例程序下载:
前朝楚水
2018/04/03
2.6K0
SQL注入攻防入门详解
powerdesigner 15 如何导出sql schema
PowerDesigner导出所有SQL脚本 操作:Database=>Generate Database PowerDesigner怎么导出建表sql脚本 1 按照数据库类型,切换数据库。 Database-> Change Current DBMS... 2 生成sql脚本 Database -> Database Generation 的Preview选项卡 点击保存按钮,保存产生的sql脚本到本地。 【注意】: 1 本人使用的powerDesigner是15.2版本。 2 产生出的sql脚本一般会有
Java学习123
2018/05/16
1.8K0
[翻译]如何从 SQL Server 恢复已删除的数据
在我使用 SQL Server 的这些年里,最常见的问题之一一直是“我们如何恢复已删除的记录?”
保持热爱奔赴山海
2024/05/10
6450
mssql全库查找且替换字段
两个业务实体合并。假设业务实体为人员A和人员B,需要将两个人员的相关数据合并,且保留人员B,删掉人员A。
cultureSun
2023/11/24
2540
mysql sql语句大全
根据已有的表创建新表: A:create table tabnew like tabold (使用旧表创建新表) B:create table tabnew as select col1,col2… from tabold definition only 5、说明:删除新表
Ai学习的老章
2019/04/10
12.4K1
使用SQLServer同义词和SQL邮件,解决发布订阅中订阅库丢失数据的问题
最近给客户做了基于SQLServer的发布订阅的“读写分离”功能,但是某些表数据很大,经常发生某几条数据丢失的问题,导致订阅无法继续进行。但是每次发现问题重新做一次发布订阅又非常消耗时间,所以还得根据“复制监视器”的提示,找到丢失的数据,手工处理。 定位缺失数据 首先,找到出问题的同步语句,在发布服务器的“复制监视器”上事务订阅的详细信息里面,找到出错的信息 尝试的命令: if @@trancount > 0 rollback tran (事务序列号: 0x0000992600000D09007F00000
用户1177503
2018/02/27
1.6K0
使用SQLServer同义词和SQL邮件,解决发布订阅中订阅库丢失数据的问题
t-sql导出EXCEL语句
/*=================== 导入/导出 Excel 的基本方法 ===================*/
jack.yang
2025/04/05
710
sql语句总结,大家可以收藏了面试一定有用!!!
原文:https://blog.csdn.net/u012562943/article/details/50432733
用户5224393
2019/08/13
9780
SQL 循环语句 while 介绍 实例
WHILE 设置重复执行 SQL 语句或语句块的条件。只要指定的条件为真,就重复执行语句。可以使用 BREAK 和 CONTINUE 关键字在循环内部控制 WHILE 循环中语句的执行。
全栈程序员站长
2022/07/18
1.8K0
SQL之经典SQL语句大全
经典SQL语句大全 一、基础 1、说明:创建数据库 CREATE DATABASE database-name  2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建 备份数据的 device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' --- 开始 备份 BACKUP DATABASE pubs TO testBack  4
互联网金融打杂
2018/04/03
1.4K0
Sql Server 存储过程中查询数据无法使用 Union(All)
  微软Sql Server数据库中,书写存储过程时,关于查询数据,无法使用Union(All)关联多个查询。
张传宁IT讲堂
2019/09/17
5.2K0
SQL Server-命令速查-CheatSheet
然后字符串部分可以写各种格式## String Replace 以下示例使用 xxx 替换 abcdefghi 中的字符串 cde。
szhshp
2022/08/15
9890
如何根据日志查看删除的数据(转译)
原文地址:https://raresql.com/2011/10/22/how-to-recover-deleted-data-from-sql-sever/   在我的SQLServer的工作中,最经常被问到的一个问题就是“能恢复删除的数据吗?”   我的回答是肯定的,注意下面的数据类型是可以通过脚本直接恢复的,当然数据库的版本要在SQLServer2005 以上才行。 经过讨论发现2008和2012以及2014的express版本也不能实现脚本直接恢复。 image text uniqueidentif
用户1217611
2018/01/30
7.6K0
SQL-记录表历史
很多时候,都需要对数据表进行历史记录。比如每修改一次表单,之前的表单数据都需要计入历史。当表单比较多的时候,记录历史是一件比较麻烦的事情。又要建日志表,又要写存储过程,又要写页面逻辑等等。有没有通用点的办法呢?最近做项目时碰到了,要求每次审核、退回等操作时就要记录表历史。于是,笔者就想到了以下方案。在此与大家分享了,如果有更合适的或合理的建议,请回复本帖。
雪雁-心莱科技
2018/12/27
6750
数据库基本----SQL语句大全
EXEC sp_addumpdevice 'disk', 'testBack', 'c:/mssql7backup/MyNwind_1.dat'
阳光岛主
2019/02/19
6.3K0
给SQL补充一个查看表结构的存储过程
数据库中表太多,要查看某个表的结构比较费劲,用此存储过程比较方便;   CRM /******************************************** * 根据表名得到表信息,包括字段说明      ********************************************/    CREATE PROC [dbo].[sp_help_table] (@tableName VARCHAR(200), @ColumnLike VARCHAR(200) = NULL)     
跟着阿笨一起玩NET
2018/09/18
5470
相关推荐
sql server根据表中数据生成insert语句
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验