将值从SQL Server导出到txt文件

时间:2013-09-05 11:05:18

标签: sql sql-server sql-server-2012

我想将SQL Server中的值导出到txt文件。我知道BCP,我需要提供查询或表名来从表中导出数据。我不想导出数据,但我想导出分配给变量的值。我怎么能这样做,有什么帮助吗?

1 个答案:

答案 0 :(得分:5)

使用查询收集要导出的变量。像这样:

DECLARE @var1 INTEGER
DECLARE @var2 INTEGER

SELECT @var1 = 10
SELECT @var2 = 22

SELECT 'variable 1' AS VarName, @var1 AS VarValue
UNION
SELECT 'variable 2' AS VarName, @var2 AS VarValue

在以下命令中使用此查询语句。使用queryout并将[querystatement]替换为上面的语句,或者使用变量作为查询字符串。

EXEC master..XP_CMDSHELL 'bcp "[querystatement]" queryout "c:\spt_values.dat"'

如果需要在语句之外声明变量:

DECLARE @cmd varchar(1000)
DECLARE @sql varchar(8000) 
DECLARE @var1 int
SELECT @var1 = 10
SET @cmd='"select '+CAST(@var1 AS VARCHAR(10))+'"' 
SELECT @sql = 'bcp '+@cmd+' queryout I:\File\mytest.txt -c -t -T -S YAMUNA\SQLEXPRESS';
exec xp_cmdshell @sql;
相关问题