新建如下的存储过程:(执行该存储过程会生成一条查询语句,执行查询语句即可。。。)
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 =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
分享到:
相关推荐
根据提供的文件信息,我们可以构建一个详细的SQL Server存储过程来实现将表中的数据转换为`INSERT INTO`脚本的功能。此存储过程将适用于多种数据类型,并能够动态生成插入语句,以便用户可以方便地导出数据作为脚本...
SQL Server是一种强大的关系数据库管理系统,提供了多种方式来生成INSERT SQL脚本,以便将数据导出到其他数据库或系统中。在本文中,我们将介绍如何使用SQL Server 2008中文版生成INSERT SQL脚本。 生成INSERT SQL...
从SQLSERVER数据库中导出记录生成insert into 语句
在SQL Server数据库管理中,有时我们需要将表中的数据导出为Insert语句,这在数据迁移、备份或测试环境中非常常见。"SQL Server表数据导出成Insert语句的工具"是一个专门为此目的设计的应用程序,它能帮助数据库管理...
SQL Server 导出带数据的脚本 SQL Server 是一个功能强大的关系数据库管理系统,它提供了多种方式来导出数据库结构和数据。今天,我们将探讨如何使用 SQL Server Management Studio (SSMS) 导出带数据的脚本。 一...
在SQL Server中,可以使用多种工具或T-SQL语句来导出数据,例如`bcp`命令行工具,`SELECT INTO`语句,或者使用SSMS(SQL Server Management Studio)的“任务”>“生成脚本”功能。 4. **Insert语句**:在SQL中,...
将Microsoft SQL Server(简称MS SQL Server)中的数据导出为SQL插入语句是一个常见的数据库管理操作,主要用于数据备份、迁移或脚本化目的。在给定的文件信息中,一个存储过程`dbo.UspOutputData`被设计用于实现这...
- 在T-SQL中,你可以使用OPENROWSET函数直接将Excel文件作为数据源读入Sql Server,然后通过INSERT INTO语句将数据导出到新表。 - 例如:`INSERT INTO YourTable SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB....
在MS SQL SERVER中,导出数据为Insert脚本通常是为了备份数据、迁移数据或者在测试环境中重现生产环境的数据状态。这个过程可以通过SQL Server Management Studio (SSMS) 来实现: 1. 打开SSMS,连接到你的SQL ...
在SQL Server中,将数据导出为SQL脚本是一项常用的操作,这有助于备份数据库、迁移数据或在不同的环境中重新创建数据。通常,SQL Server Management Studio (SSMS) 提供的功能仅能导出数据库架构,包括表结构、索引...
SQL Server的导入导出功能可以导出创建数据库各对象的脚本,却不提供导出目标表的现有数据为Insert语句的功能,网上也有此类存储过程,但要运行还得给客户数据库上create它,昨天兴致突来,写了一个工具ExpertSQL,...
SQL SERVER数据导出工具SQL SERVER数据导出工具SQL SERVER数据导出工具SQL SERVER数据导出工具SQL SERVER数据导出工具SQL SERVER数据导出工具SQL SERVER数据导出工具
除了这个特定的MHT格式工具,SQL Server还提供了其他的内置功能和第三方软件,例如SQL Server Management Studio(SSMS)的“任务”->“生成脚本”,或者使用bcp命令行工具,它们也可以完成类似的数据导出工作。...
SQL Server是一款广泛应用...总的来说,"SQL Server导出数据字典工具"是数据库管理员和开发人员的得力助手,它简化了获取和管理SQL Server数据库元数据的过程,提高了工作效率,同时也为数据库的维护和优化提供了便利。
SQL Server脚本导出器是数据库管理员在管理SQL Server 2000时的重要工具,它使得数据库的备份和迁移工作变得更为简便。这个工具的主要功能是生成数据库对象的SQL脚本,包括表、视图、存储过程、触发器、索引等,这样...
沈阳信软计算机有限公司的员工在业余时间开发了这个小工具,实现了SQLServer2005的数据导出,导出的数据是 [表名].sql。 这个文件可以导入到任何数据库里,实现了数据库切换。开发工作在SQLServer2005里比较方便,但...
标题 "SQL Server 数据库脚本导出器 v2.0.rar" 暗示这是一个工具,主要用于从SQL Server数据库中导出脚本和数据。这个工具可能是为了提供比SQL Server自带的脚本生成功能更全面的选项。描述中的“倒出脚本和数据”...
"SQL 导出数据 insert 语句"是指一种技术,它允许我们把数据库中的记录转换为一系列的INSERT语句,这样就可以在需要的时候重新执行这些语句来插入数据。这种做法尤其适用于小型数据集或者作为数据迁移的一种手段。 ...
易写的从SQL SERVER 中导出image 类型文件到本地
这个压缩包"sqlserver 导出表及字段说明脚本.rar"包含了一个名为"sqlserver 导出表及字段说明脚本.sql"的文件,这通常是一个用于生成SQL语句的脚本,用于描述数据库中的表结构以及各字段的详细信息。以下是对这个...