SET NOCOUNT ON
--表名和查询条件
DECLARE @TABLENAME VARCHAR(64),@C VARCHAR(512)
SET @TABLENAME='BA_ROLEAUTHORITY'
SET @C='WHERE 1=1'
--定义字段名,类型和长度的变量,以及获取表结构的游标
declare @name varchar(64),@type varchar(16),@len varchar(6)
declare tbCur cursor
for select COLUMN_NAME ,DATA_TYPE,CHARACTER_OCTET_LENGTH from INFORMATION_SCHEMA.COLUMNS
where table_name=@TABLENAME
--定义插入语句的变量
declare @rows nvarchar(512),@EXE_SQL nvarchar(2048),@sqlrow nvarchar(2048)
set @rows=''
set @EXE_SQL=''
--获取表结构,
open tbCur
fetch next from tbCur into @name,@type,@len
while @@FETCH_STATUS=0
begin
set @rows=@rows+@name+','
IF @type = 'varchar' or @type='char' or @type ='datetime' or @type='nvarchar' or @type ='nchar'
BEGIN
set @EXE_SQL=@EXE_SQL+ 'ISNULL(''N''''''+'+@name+'+'''''''',''NULL'')'+'+'',''+'
END
ELSE
BEGIN
set @EXE_SQL=@EXE_SQL+ 'ISNULL(CONVERT(VARCHAR(12),'+@name+'),''NULL'')'+'+'',''+'
END
fetch next from tbCur into @name,@type,@len
end
set @rows=SUBSTRING(@rows,1,len(@rows)-1)
set @EXE_SQL=SUBSTRING(@EXE_SQL,1,len(@EXE_SQL)-5)
close tbCur
deallocate tbCur
--EXEC('select '+@EXE_SQL+' from '+@TABLENAME +' '+@C)
--创建临时表
exec('select '+@EXE_SQL+' AS R into ##temp from '+@TABLENAME +' '+@C)
--定义要获取数据的游标
declare tb_cur cursor
for select * from ##temp
open tb_cur
fetch next from tb_cur into @sqlrow
while(@@FETCH_STATUS=0)
begin
print 'INSERT INTO '+@TABLENAME+'('+@rows+') VALUES('+@sqlrow+')'
fetch next from tb_cur into @sqlrow
end
close tb_cur
deallocate tb_cur
exec('drop table ##temp')
分享到:
相关推荐
可以将数据库中的数据导出insert into脚本, sql server2008以上版本已经自带导出数据库数据成insert脚本功能,该工具针对2005以下版本.使用时先选择数据库服务器地址,在右侧选择Sql Server login,输入数据库账号...
SQL Server表数据导出成Insert语句的工具
读取SQLSERVER数据库中的用户表,把表中的用户数据导出为Insert语句。
此工具可以将SQL Server表数据导出成Insert语句。SQL Server的导入导出功能可以导出创建数据库各对象的脚本,却不提供导出目标表的现有数据为Insert语句的功能,此工具可以将SQL Server表数据导出成Insert语句。
企业管理器只能导出数据库的结构,不能导出基础数据,有了这个工具,不仅可以导出SQL表结构,还可以导出基础数据。 基础数据全部生成Insert语句。
SQL数据导出insert语句工具.将sql查询结果导出生成insert语句脚本
从SQLSERVER数据库中导出记录生成insert into 语句
SQL SERVER:把表里的数据导出成为INSERT INTO脚本的存储过程
由于sql server2005里没有像oracle那样将数据导出成sql语句(insert into)的功能。所以,写的一个存储过程,该存储过程将提成的表的数据全部生成insert into.....这样的插入语句。以便数据的复制。
sqlserver数据库导出表的insert语句, 执行方法:exec dataToSQLScript @tablename;
沈阳信软计算机有限公司的员工在业余时间开发了这个小工具,实现了SQLServer2005的数据导出,导出的数据是 [表名].sql。 这个文件可以导入到任何数据库里,实现了数据库切换。开发工作在SQLServer2005里比较方便,但...
导出sql server表数据(生成以insert插入的语句方式的存储过程)
SQL Server的导入导出功能可以导出创建数据库各对象的脚本,却不提供导出目标表的现有数据为Insert语句的功能,网上也有此类存储过程,但要运行还得给客户数据库上create它,昨天兴致突来,写了一个工具ExpertSQL,...
一款可自定义条件导出数据工具。SQLSERVER版数据库Insert语句生成工具。 因SQL server management studio及其它三方数据库管理工具无法做到导出SQL server数据库指定条件的数据。所以小编介绍一种python编写的脚本。
(包含insert语句。结果可一键执行,利于数据导出、导入) 参数: @tableName nvarchar(100) --表名 ,@sqlWhere nvarchar(500) --where条件(传空时,导出全部数据) 不足: 不支持text,binary,image,text等类型; ...
可以选定表、自定义查询,生成Insert语句
SQL脚本导出器(可直接导出成insert形式的语句) 如: insert TABLENAME() values()
使用 Transact-SQL 时,可以使用 SELECT INTO FROM 和 INSERT INTO 语句来实现数据的导入和导出。SELECT INTO FROM 语句可以将源表中的数据导入到一个新建的空表中,而 INSERT INTO 语句可以将源数据插入到已经存在...
Navicat是一个通用查询分析器,支持MySQL、SQL Server、Oracle、SQLite、PostgreSQL等数据库。更可以将表中数据导出成Insert语句。
把msSqlServer 中的数据导出成 insert into语句