`

如何将sqlserver表中的数据导出sql语句或生成insert into语句

 
阅读更多
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 '+@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



使用方法:

exec proc_insert 你的表名


另外可以利用第三方工具,导出饮食备注型字段的数据数据可以用powerbuilder。在database painter里面,用SQL选出,或者直接打开表,点击生成的list datawindow,然后在菜单file->save rows as->选择SQL,那么生成的SQL语句就包括建表和insert数据的SQL了。
还有最完善的方式就是自己编程实现导入导出,这样可以应对所有情况的数据转换。
分享到:
评论

相关推荐

    从SQLSERVER数据库中导出记录生成insert into 语句

    从SQLSERVER数据库中导出记录生成insert into 语句

    sqlserver表数据生成insertsql脚本(导出成insertsql脚本).pdf

    SQL Server表数据生成INSERT SQL脚本 SQL Server是一种强大的关系数据库管理系统,提供了多种方式来生成INSERT SQL脚本,以便将数据导出到其他数据库或系统中。在本文中,我们将介绍如何使用SQL Server 2008中文版...

    SQLServer数据库表中数据导出成SQL语句工具

    在SQL Server数据库管理中,有时候我们需要将数据库表中的数据导出为SQL语句,以便于备份、迁移或者在其他环境中重建相同的数据结构和内容。针对这个需求,存在一种名为“SQLServer数据库表中数据导出成SQL语句工具...

    将sqlserver中的数据导出成为sql语句

    标题提到的“将sqlserver中的数据导出成为sql语句”是指将SQL Server数据库中的表结构和数据转换为一系列的INSERT INTO SQL语句,这样就可以通过执行这些语句在另一个数据库中重建相同的数据。这一过程对于开发、...

    SQLServer导出为Insert语句

    在SQL Server中,可以使用多种工具或T-SQL语句来导出数据,例如`bcp`命令行工具,`SELECT INTO`语句,或者使用SSMS(SQL Server Management Studio)的“任务”&gt;“生成脚本”功能。 4. **Insert语句**:在SQL中,...

    SQL SERVER 将select数据生成insert语句

    它是一个实用的辅助程序,能够自动生成`INSERT INTO`语句,帮助用户将数据从一个表导出为可执行的SQL脚本。这个工具可能包含以下功能: 1. **选择表**:用户可以选择要导出数据的特定表。 2. **指定列**:允许用户...

    将sqlserver表中指定数据转化为insert语句

    在SQL Server中,有时我们需要将现有表中的特定数据导出为INSERT语句,以便在其他数据库或备份中重建这些记录。这通常在迁移数据、创建测试数据或者进行数据备份时非常有用。以下是如何将SQL Server表中指定数据转化...

    Sql Server导出数据 INSERT 脚本

    可以将数据库中的数据导出insert into脚本, sql server2008以上版本已经自带导出数据库数据成insert脚本功能,该工具针对2005以下版本.使用时先选择数据库服务器地址,在右侧选择Sql Server login,输入数据库账号...

    SQL SERVER:把表里的数据导出成为INSERT INTO脚本的存储过程

    以上存储过程提供了一种灵活且高效的方式来导出SQL Server表中的数据到`INSERT INTO`脚本。通过动态SQL的使用,该存储过程能够适应不同类型的列,并正确处理NULL值和其他特殊情况。这种脚本化的方法对于备份、数据...

    SQL 导出数据 insert 语句

    在SQL数据库管理中,有时我们需要将数据库中的数据导出,以便在其他地方或者备份后重新导入。...利用合适的工具或脚本,我们可以轻松地将数据转换为可执行的SQL语句,从而确保数据能够在不同的环境之间无缝转移。

    c# 导出MSSQL表数据 Insert语句

    本文将深入探讨如何在C#中导出MSSQL表的数据并生成Insert语句,这对于数据迁移、备份或测试环境的搭建都非常有用。 首先,要实现这个功能,我们需要对SQL Server的ADO.NET库有基本的了解。ADO.NET是微软提供的一个...

    将SQL SERVER的数据导成Insert 语句

    它可以从SQL SERVER数据库中读取指定表的数据,并生成对应的INSERT语句,极大地提高了数据迁移或备份的效率。 使用"ExportDBData.exe"之前,你需要先配置"ExportDBData.ini"文件。这个配置文件包含了连接到SQL ...

    SQL数据导出insert语句工具

    "SQL数据导出insert语句工具"是一款专门用于帮助用户将SQL查询结果转化为INSERT语句的实用程序,便于快速生成批量插入数据的脚本。这种工具极大地简化了手动编写大量INSERT语句的繁琐工作,提高了工作效率。 首先,...

    sql server导出语句

    在SQL Server中,导出插入语句是一种常见的数据...通过理解SQL语句的生成方式和考虑上述因素,你可以更有效地进行数据操作。记住,根据具体情况选择最适合的方法,并始终进行适当的数据验证和备份,以防止数据丢失。

    把msSqlServer 中的数据导出成 insert into语句

    将Microsoft SQL Server(简称MS SQL Server)中的数据导出为SQL插入语句是一个常见的数据库管理操作,主要用于数据备份、迁移或脚本化目的。在给定的文件信息中,一个存储过程`dbo.UspOutputData`被设计用于实现这...

    sql server导出成sql语句

    然而,SQL Server 2005及更早版本并没有内置功能直接将数据导出为INSERT INTO语句,这与Oracle等其他数据库系统有所不同。为了解决这个问题,用户可以通过编写存储过程来实现这一目标。这里介绍一种方法,即创建一个...

    将sql server数据表生成sql文件,可用查询分析器直接运行

    可将sql server 数据表生成sql语句 语句中包括建表部分和数据部分 常用作sql server 数据导入 例如:--表 buyi_product_comment 的结构 CREATE TABLE buyi_product_comment(proId varchar(50) not null,companyid ...

    导出SQL数据为Insert语句

    在IT行业中,数据库管理和数据迁移是常见的任务,而“导出SQL数据为Insert语句”是一种常用的方法,便于数据备份、迁移或测试环境的搭建。本文将深入探讨这个主题,介绍如何将数据库中的数据转换为Insert语句,并...

    SQL SERVER脚本表结构和数据导出工具

    在SQL Server数据库管理中,有时候我们需要将数据库中的表结构和数据导出,以便备份、迁移或分享给其他团队成员。SQL Server提供了多种方法来实现这一目标,包括使用T-SQL语句、SQL Server Management Studio (SSMS)...

    SQL Server三种导入导出数据方式比较

    SELECT INTO FROM 语句可以将源表中的数据导入到一个新建的空表中,而 INSERT INTO 语句可以将源数据插入到已经存在的表中。 例如,我们可以使用以下 SQL 语句来将数据从 table1 导入到 table2 中: SELECT * INTO...

Global site tag (gtag.js) - Google Analytics