将SQLServer中指定表的数据导出为Insert语句形式
2012-11-22 11:50
429 查看
之前需要导出数据库中某张表的数据,然后发现我安装的SQLServer没有这个功能(网上有人说SQLServer开发版有这个功能,我没安装过..),于是在网上找到了
这个存储过程替代一下,原网址也不知道是哪的了...
虽然不是很完善,但足够了~,先记下,有大神看到的话希望指点一二
步骤如下:
1.新建一个存储过程
2.执行存储过程
将‘YourTable’替换为你想要导出数据的表名,执行即可。
很简单吧~但是在语句中你会发现没有table的字段,只有值,所以想要在其他库里面插入的话,还是先导出表结构在另外一个数据库中建好表吧。
备注:亲测过这个存储过程没有乱码现象。
这个存储过程替代一下,原网址也不知道是哪的了...
虽然不是很完善,但足够了~,先记下,有大神看到的话希望指点一二
步骤如下:
1.新建一个存储过程
CREATE PROC sp_Data2InsertSQL @TableName AS VARCHAR(100) AS DECLARE xCursor CURSOR FOR SELECT name,xusertype FROM syscolumns WHERE (id = OBJECT_ID(@TableName)) DECLARE @F1 VARCHAR(100) DECLARE @F2 integer DECLARE @SQL varchar(8000) SET @sql ='SELECT ''INSERT INTO ' + @TableName + ' VALUES(''' OPEN xCursor FETCH xCursor INTO @F1,@F2 WHILE @@FETCH_STATUS = 0 BEGIN SET @sql = @sql + '' + CASE WHEN @F2 IN (35,58,99,167,175,231,239,61) then ' + CASE WHEN ' + @F1 + ' IS NULL THEN '''' ELSE '''''''' END + ' ELSE '+' END + 'REPLACE(ISNULL(CAST(' + @F1 + ' AS VARCHAR(8000)),''NULL''),'''''''','''''''''''')' + CASE WHEN @F2 IN (35,58,99,167,175,231,239,61) THEN ' + CASE WHEN ' + @F1 + ' IS NULL THEN '''' ELSE '''''''' END + ' ELSE '+' END + CHAR(13) + ''',''' FETCH NEXT FROM xCursor INTO @F1,@F2 END CLOSE xCursor DEALLOCATE xCursor SET @sql = LEFT(@sql,LEN(@sql) - 5) + ' + '')'' FROM ' + @TableName EXEC (@sql) GO
2.执行存储过程
EXEC sp_Data2InsertSQL YourTable
将‘YourTable’替换为你想要导出数据的表名,执行即可。
很简单吧~但是在语句中你会发现没有table的字段,只有值,所以想要在其他库里面插入的话,还是先导出表结构在另外一个数据库中建好表吧。
备注:亲测过这个存储过程没有乱码现象。
相关文章推荐
- 如何将sqlserver表中的数据导出sql语句或生成insert into语句
- 将Sqlserver表数据导出成insert into语句 .
- 【转载】将sqlserver表中的数据导出sql语句或生成insert into语句
- 将sqlserver表中的数据导出sql语句或生成insert into语句
- sqlserver导出数据的insert语句
- SqlServer 导出指定表数据 生成Insert脚本
- 怎么从sqlserver 数据库导出 insert 的数据语句
- 如何将sqlserver表中的数据导出sql语句或生成insert into语句
- 如何将sqlserver表中的数据导出sql语句或生成insert into语句
- 以insert语句方式导出oracle数据库指定表名的数据
- 如何将sqlserver表中的数据导出sql语句或生成insert into语句【转载】
- 如何将sqlserver表中的数据导出sql语句或生成insert into语句 [转]
- sqlserver 表数据导出insert into 语句的存储过程
- 【转载】将sqlserver表中的数据导出sql语句或生成insert into语句
- 将Sqlserver表数据导出成insert into语句
- SQL Server 2005导出表中数据的SQL脚本形式(即INSERT语句)
- 让sqlserver导出的数据脚本包含insert语句
- sql2000导出数据库的数据(以insert语句形式的脚本)
- SQLServer中数据导出为insert语句
- 使用程序导出建表语句,及以Insert语句形式导出数据