`
as1001001
  • 浏览: 89924 次
  • 性别: Icon_minigender_1
  • 来自: 鞍山
社区版块
存档分类
最新评论

将MSSQL中的表数据导出为SQL语句

阅读更多
drop proc proc_insert
go
create proc proc_insert (@tablename varchar(256))
as
begin
set nocount on
declare @sqlstr varchar(4000)
declare @sqlstr1 varchar(4000)
declare @sqlstr2 varchar(4000)
select @sqlstr='select ''insert into '+@tablename
select @sqlstr1=''
select @sqlstr2=' ('
select @sqlstr1= ' values ( ''+'
select @sqlstr1=@sqlstr1+col+'+'',''+' ,@sqlstr2=@sqlstr2+name +',' from (select case 
-- when a.xtype =173 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar('+convert(varchar(4),a.length*2+2)+'),'+a.name +')'+' end'
when a.xtype =127 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(20),'+a.name +')'+' end'
when a.xtype =104 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(1),'+a.name +')'+' end'
when a.xtype =175 then 'case when '+a.name+' is null then ''NULL'' else '+'''''''''+'+'replace('+a.name+','''''''','''''''''''')' + '+'''''''''+' end'
when a.xtype =61 then 'case when '+a.name+' is null then ''NULL'' else '+'''''''''+'+'convert(varchar(23),'+a.name +',121)'+ '+'''''''''+' end'
when a.xtype =106 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar('+convert(varchar(4),a.xprec+2)+'),'+a.name +')'+' end'
when a.xtype =62 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(23),'+a.name +',2)'+' end'
when a.xtype =56 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(11),'+a.name +')'+' end'
when a.xtype =60 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(22),'+a.name +')'+' end'
when a.xtype =239 then 'case when '+a.name+' is null then ''NULL'' else '+'''''''''+'+'replace('+a.name+','''''''','''''''''''')' + '+'''''''''+' end'
when a.xtype =108 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar('+convert(varchar(4),a.xprec+2)+'),'+a.name +')'+' end'
when a.xtype =231 then 'case when '+a.name+' is null then ''NULL'' else '+'''''''''+'+'replace('+a.name+','''''''','''''''''''')' + '+'''''''''+' end'
when a.xtype =59 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(23),'+a.name +',2)'+' end'
when a.xtype =58 then 'case when '+a.name+' is null then ''NULL'' else '+'''''''''+'+'convert(varchar(23),'+a.name +',121)'+ '+'''''''''+' end'
when a.xtype =52 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(12),'+a.name +')'+' end'
when a.xtype =122 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(22),'+a.name +')'+' end'
when a.xtype =48 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(6),'+a.name +')'+' end'
-- when a.xtype =165 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar('+convert(varchar(4),a.length*2+2)+'),'+a.name +')'+' end'
when a.xtype =167 then 'case when '+a.name+' is null then ''NULL'' else '+'''''''''+'+'replace('+a.name+','''''''','''''''''''')' + '+'''''''''+' end'
else '''NULL'''
end as col,a.colid,a.name
from syscolumns a where a.id = object_id(@tablename) and a.xtype <>189 and a.xtype <>34 and a.xtype <>35 and a.xtype <>36
)t order by colid

select @sqlstr=@sqlstr+left(@sqlstr2,len(@sqlstr2)-1)+') '+left(@sqlstr1,len(@sqlstr1)-3)+');'' from '+@tablename
-- print @sqlstr
exec( @sqlstr)
set nocount off
end
go

select * from systypes

使用方法:

exec proc_insert 你的表名
分享到:
评论

相关推荐

    数据库数据导出为SQl语句工具,支持各种数据库数据导出

    2. **数据库迁移**:在更换数据库平台或升级版本时,将数据转换为SQL语句,便于在新的环境中重建数据。 3. **版本控制**:在团队协作开发中,通过SQL脚本管理数据变化,有助于追踪和合并数据变动。 4. **数据同步**...

    将表中数据导出为insert sql 语句

    将数据库表中的数据导出为INSERT SQL语句是一项涉及动态SQL构造、数据类型处理以及性能优化等多方面技能的任务。通过上述分析,我们了解到这一过程的核心步骤和关键技术点。掌握了这些知识,便能够在实际项目中更...

    SQLServer导出为Insert语句

    7. **实际应用**:在软件升级、系统迁移或灾难恢复的场景中,将数据导出为Insert语句特别有用。这种方法允许在不依赖原数据库结构的情况下导入数据,同时也方便对数据进行修改或筛选。 8. **安全与性能**:在执行这...

    insert,update导出sql语句

    这篇内容将详细解释这两个SQL语句的工作原理、用法以及如何导出这些语句,以供日后使用或备份。 首先,我们来看INSERT语句。INSERT语句用于向数据库的表中添加新的记录。基本语法如下: ```sql INSERT INTO 表名 ...

    把数据库中的数据导出为sql脚本

    当我们将数据库中的数据导出为SQL脚本时,实际上是在创建一系列的CREATE、INSERT、ALTER等SQL语句,这些语句可以重新构建和填充数据库结构及数据。 在标题提到的"MSSQL2.exe"文件中,我们可以推测这可能是一个针对...

    MSSQL表数据导出成Insert语句的工具

    可以将各种数据库中的数据用一条sql语句体现出来,开发时使用方便实用

    把sql表里面的数据导出到word里面

    总结,将SQL表中的数据导出到Word文档涉及数据库连接、SQL查询、数据处理和文档生成等多个步骤。掌握这些技能有助于提高工作效率,尤其是在需要定期生成报告或分析数据时。通过使用适当的编程语言和库,可以自动化这...

    导出SQL数据为Insert语句

    综上所述,“导出SQL数据为Insert语句”是一项实用的技术,通过SSMS、T-SQL脚本或其他工具,我们可以方便地将数据库中的数据转换为可执行的Insert语句,从而实现数据的灵活迁移和操作。在实际工作中,应根据具体需求...

    PowerDesigner导出的SQL带列注释,导入到MySQL中列注释不见了的处理方法

    這樣导出的 SQL 语句带列注释,但是如果直接将 SQL 语句导入到 MySQL 数据库中,可能会发现注释不見了。 这就是因为 SQL 文件的编码格式是 ANSL 的,而数据库的编码格式选择的是 UTF-8 的,所以英文的注释会显示,...

    导出系列-根据SQL语句导出数据到txt记事本

    "导出系列-根据SQL语句导出数据到txt记事本"这个主题聚焦于如何使用SQL语句将数据库中的信息转化为文本文件格式,特别是TXT或记事本格式。这种格式简单易读,适用于多种场景,如数据共享、日志记录或是作为其他程序...

    mysql批量导出建表语句.zip

    你可以打开这些文件查看具体的SQL语句,并在需要时在新的MySQL环境中执行它们以重新创建相同的数据库结构。 为了更好地利用这个资源,建议熟悉Kettle的工作流程,理解其各个步骤的功能,并学习如何根据自己的需求...

    Mysql中文乱码以及导出为sql语句和Excel问题解决方法[图文]

    对于将数据导出为SQL的`INSERT`语句,`mysqldump`提供了`--extended-insert`参数,用于合并多个记录到一个`INSERT`语句中,以提高导入速度。然而,如果数据量大或有长度限制,可能需要禁用这个选项,使用`--extended...

    根据数据库导出SQL语句

    标题中的“根据数据库导出SQL语句”是指一种技术,它允许用户将ACCESS数据库中的数据转换为SQL(Structured Query Language)脚本。这种技术对于在不同的数据库系统间迁移数据非常有用,因为SQL是大多数关系型数据库...

    数据库数据导出到insert 语句

    当我们需要导出数据库表的数据为INSERT语句时,通常会用到一些数据库管理工具,如MySQL Workbench、pgAdmin(PostgreSQL)或者Oracle SQL Developer等。这些工具通常提供了导出数据为脚本的功能,其中包括了针对每个...

    MySQL数据导入与导出

    `SELECT INTO OUTFILE`是MySQL提供的一种简单有效的数据导出方法,可以直接将查询结果写入到指定的文件中。例如: ```sql USE phptest; SELECT * FROM driver INTO OUTFILE 'a.txt'; ``` 执行上述SQL语句后,查询...

    mysql转化成sql server sql转化成mysql工具

    3. 数据导出:将MySQL中的数据导出为SQL脚本,或者直接导入到SQL Server中。 4. 验证与调整:迁移后,需要验证数据的一致性,并可能需要根据SQL Server的特点进行额外的调整。 反过来,从SQL Server到MySQL的转换,...

    nodejs将mysql数据库中的数据导出成excel表格文件

    在`excel.js`文件中,开发者可能定义了函数,用于读取数据库中的数据,然后使用`xlsx`库将数据转化为Excel表格并保存到磁盘。 描述中提到了"三百万的mysql测试数据",这可能意味着有相关的SQL脚本(如`test.sql`)...

    magento导出数据sql

    首先,`magento导出数据sql`是指使用SQL语句来提取Magento数据库中的数据。这通常涉及到备份、分析或迁移数据到其他系统。在Magento中,数据主要存储在MySQL数据库中,因此我们可以通过以下几种方式来导出数据: 1....

    用SELECT… INTO OUTFILE语句导出MySQL数据的教程

    这个语句将数据以特定的格式保存,方便进行数据备份、迁移或者进一步处理。以下是关于使用SELECT… INTO OUTFILE导出MySQL数据的详细解释: 1. **基本语法**: SELECT… INTO OUTFILE语句的基本形式是: ```sql ...

    MySQL导出数据并通过sqlldr导入oracle

    同时代码还会生成sqlldr命令需要用到的control文件和bat文件,以及连接Oracle的配置文件,只要将MySQL导出的数据文件合到一起,执行bat文件,即可完成数据导入到Oracle的任务。所有文件都是以导入导出的那张表的表名...

Global site tag (gtag.js) - Google Analytics