SET ANSI_NULLS ON
GOSET QUOTED_IDENTIFIER ON
GO-- =============================================
-- Author:
-- Create date:
-- Description: 将表数据生成Insert脚本
-- Demo : exec pCreateInsertScript 'TestTable','1=1'
-- =============================================
CREATE PROC [dbo].[pCreateInsertScript] (@tablename VARCHAR(256),@con NVARCHAR(400))
AS
BEGINSET NOCOUNT ONDECLARE @sqlstr VARCHAR(4000)DECLARE @sqlstr1 VARCHAR(4000)DECLARE @sqlstr2 VARCHAR(4000)SELECT @sqlstr = 'select ''insert ' + @tablenameSELECT @sqlstr1 = ''SELECT @sqlstr2 = '('SELECT @sqlstr1 = 'values (''+'SELECT @sqlstr1 = @sqlstr1 + col + '+'',''+',@sqlstr2 = @sqlstr2 + NAME + ','FROM (SELECT CASE WHEN a.xtype = 173THEN 'case when ' + a.NAME + ' is null then ''NULL'' else ' + 'convert(varchar(' + convert(VARCHAR(4), a.length * 2 + 2) + '),' + a.NAME + ')' + ' end'WHEN a.xtype = 104THEN 'case when ' + a.NAME + ' is null then ''NULL'' else ' + 'convert(varchar(1),' + a.NAME + ')' + ' end'WHEN a.xtype = 175THEN 'case when ' + a.NAME + ' is null then ''NULL'' else ' + '''''''''+' + 'replace(' + a.NAME + ','''''''','''''''''''')' + '+''''''''' + ' end'WHEN a.xtype = 61THEN 'case when ' + a.NAME + ' is null then ''NULL'' else ' + '''''''''+' + 'convert(varchar(23),' + a.NAME + ',121)' + '+''''''''' + ' end'WHEN a.xtype = 106THEN 'case when ' + a.NAME + ' is null then ''NULL'' else ' + 'convert(varchar(' + convert(VARCHAR(4), a.xprec + 2) + '),' + a.NAME + ')' + ' end'WHEN a.xtype = 62THEN 'case when ' + a.NAME + ' is null then ''NULL'' else ' + 'convert(varchar(23),' + a.NAME + ',2)' + ' end'WHEN a.xtype = 56THEN 'case when ' + a.NAME + ' is null then ''NULL'' else ' + 'convert(varchar(11),' + a.NAME + ')' + ' end'WHEN a.xtype = 60THEN 'case when ' + a.NAME + ' is null then ''NULL'' else ' + 'convert(varchar(22),' + a.NAME + ')' + ' end'WHEN a.xtype = 239THEN 'case when ' + a.NAME + ' is null then ''NULL'' else ' + '''''''''+' + 'replace(' + a.NAME + ','''''''','''''''''''')' + '+''''''''' + ' end'WHEN a.xtype = 108THEN 'case when ' + a.NAME + ' is null then ''NULL'' else ' + 'convert(varchar(' + convert(VARCHAR(4), a.xprec + 2) + '),' + a.NAME + ')' + ' end'WHEN a.xtype = 231THEN 'case when ' + a.NAME + ' is null then ''NULL'' else ' + '''''''''+' + 'replace(' + a.NAME + ','''''''','''''''''''')' + '+''''''''' + ' end'WHEN a.xtype = 59THEN 'case when ' + a.NAME + ' is null then ''NULL'' else ' + 'convert(varchar(23),' + a.NAME + ',2)' + ' end'WHEN a.xtype = 58THEN 'case when ' + a.NAME + ' is null then ''NULL'' else ' + '''''''''+' + 'convert(varchar(23),' + a.NAME + ',121)' + '+''''''''' + ' end'WHEN a.xtype = 52THEN 'case when ' + a.NAME + ' is null then ''NULL'' else ' + 'convert(varchar(12),' + a.NAME + ')' + ' end'WHEN a.xtype = 122THEN 'case when ' + a.NAME + ' is null then ''NULL'' else ' + 'convert(varchar(22),' + a.NAME + ')' + ' end'WHEN a.xtype = 127THEN 'case when ' + a.NAME + ' is null then ''NULL'' else ' + 'convert(varchar(6),' + a.NAME + ')' + ' end'WHEN a.xtype = 48THEN 'case when ' + a.NAME + ' is null then ''NULL'' else ' + 'convert(varchar(6),' + a.NAME + ')' + ' end'WHEN a.xtype = 165THEN 'case when ' + a.NAME + ' is null then ''NULL'' else ' + 'convert(varchar(' + convert(VARCHAR(4), a.length * 2 + 2) + '),' + a.NAME + ')' + ' end'WHEN a.xtype = 167THEN 'case when ' + a.NAME + ' is null then ''NULL'' else ' + '''''''''+' + 'replace(' + a.NAME + ','''''''','''''''''''')' + '+''''''''' + ' end'ELSE '''NULL'''END AS col,a.colid,a.NAMEFROM syscolumns aWHERE a.id = object_id(@tablename)AND a.xtype <> 189AND a.xtype <> 34AND a.xtype <> 35AND a.xtype <> 36) tORDER BY colidSELECT @sqlstr = @sqlstr + left(@sqlstr2, len(@sqlstr2) - 1) + ') ' + left(@sqlstr1, len(@sqlstr1) - 3) + ');'' from ' + @tablename + ' where 1=1 and ' + isnull(@con, '')PRINT @sqlstrEXEC (@sqlstr)SET NOCOUNT OFF
END
GO

  

转载于:https://www.cnblogs.com/wfcfan/p/3327072.html

SQL 导出表数据存储过程相关推荐

  1. 将表数据生成SQL脚本的存储过程和工具

    将表数据生成SQL脚本的存储过程示例: CREATE PROCEDURE dbo.UspOutputData @tablename sysname AS declare @column varchar ...

  2. 使用SQL视图和存储过程限制和监视SQL Server数据访问

    This article explains data security for accessing sensitive data and restricts access in application ...

  3. [翻译]使用C#创建SQL Server的存储过程(Visual Studio 2005 + SQL Server 2005)

    原文地址:http://www.dotnetbips.com/articles/70eff218-3da0-4f6f-8f8d-eeea65193f2c.aspx[原文×××] [翻译]使用C#创建S ...

  4. 总结一些关于操作数据库是sql语句还是存储过程问题

    总结一些关于操作数据库是sql语句还是存储过程问题 程序中,你跟数据的交互,需要向数据库拿数据.更改数据库的数据等,这些操作,本身不是程序完成的,而是程序发命令给数据库去做的,不管是通过sql语句方式 ...

  5. SQL Server分页存储过程实践(图解)

    下面来对SQL Server分页存储过程进行一下实做.图解成功的各个步骤. 一 找到大数据量的示例表 分页都是针对大记录数的表:反之有大记录数的表,可能就需要分页.例如银行用户表,就会上千万.下面先做 ...

  6. hive sql循环_hive存储过程

    1.hive存储过程简介 1.x版本的hive中没有提供类似存储过程的功能,使用Hive做数据开发时候,一般是将一段一段的HQL语句封装在Shell或者其他脚本中,然后以命令行的方式调用,完成一个业务 ...

  7. Sql Server 中存储过程的output return的区别

    看http://zxianf.blog.163.com/blog/static/301207012009114104124969/中片关于Sql Server中存储过程output和return值的区 ...

  8. Entity Framework Core 执行SQL语句和存储过程

    无论ORM有多么强大,总会出现一些特殊的情况,它无法满足我们的要求.在这篇文章中,我们介绍几种执行SQL的方法. 表结构 在具体内容开始之前,我们先简单说明一下要使用的表结构. public clas ...

  9. Mysql数据库备份和按条件导出表数据

    Mysql数据库备份和按条件导出表数据 一.备份数据库 # mysqldump -u root -p  dbcurr>/home/20090219.sql mysqldum为备份命令,-u用户, ...

最新文章

  1. EasyUI 1.3.6 行号显示不全
  2. 研发手Q推广遇到的一系列问题
  3. hashtable——散列表
  4. 出现ORA - 1017用户名/口令无效; 登录被拒绝 的问题
  5. 在Bootstrap开发框架中使用bootstrap-datepicker插件
  6. JAVA进阶教学之(数字格式化和高精度数字)
  7. 树莓派智能小车python_人工智能-树莓派小车(1)——DuerOS语音唤醒
  8. python姿态识别_基于深度学习的人体姿态识别算法总结
  9. 教程篇(7.0) 02. FortiGate基础架构 SD-WAN本地分汇 ❀ Fortinet 网络安全专家 NSE 4
  10. 完整制作个人博客系统
  11. JS时间增加2个小时
  12. java计算机毕业设计基于Web的上门家教系统的设计与实现源码+数据库+系统+lw文档+mybatis+运行部署
  13. man posix_spawn
  14. 句法分析-基于CKY的PCFG(概率上下文无法语法)
  15. 用易语言制作一款图文展示软件,点击按钮切换图片和文字说明,易语言按钮、图片框、编辑框的应用
  16. Qt quick 示例:推特搜索小程序开发
  17. 大数据学习笔记七(云数据库)
  18. Python:实现字符串Z 函数或 Z 算法(附完整源码)
  19. 肿瘤靶向性红细胞膜包裹叶酸修饰的PLGA纳米粒|巨噬细胞膜包裹的PEG-PLGA载雷公藤红素纳米粒
  20. 【插件】谷歌浏览器插件visio在线打开vsdx文件

热门文章

  1. 使用mongoose来创建嵌入式websocket客户端和http客户端
  2. Oracle中并行parallel用法
  3. oracle12c 新增维护时间窗口,ORACLE 12C新特性-自动维护全局索引 | 信春哥,系统稳,闭眼上线不回滚!...
  4. 【kafka】一次磁盘故障后消费者无法消费
  5. 【Flink】Flink 清理过期 Checkpoint 目录的正确姿势
  6. 【kafka】kafka 发送数据 发送失败 回调函数 怎么能记录异常的消息内容
  7. 【Elasticsearch】Elasticsearch filter和query的不同
  8. Spark Structured SQL:row_number Non-time-based windows are not supported on streaming DataFrames
  9. 95-30-025-java.util-AbstractMap
  10. 09-R中文文本分析方便工具包chinese.misc简介