5

SQL Server から txt ファイルに値をエクスポートしたいと考えています。BCP については知っています。テーブルからデータをエクスポートするには、クエリまたはテーブル名を指定する必要があります。データをエクスポートしたくありませんが、変数に割り当てられた値をエクスポートしたいと考えています。どうすればそれを行うことができますか?

4

1 に答える 1

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;
于 2013-09-05T11:14:57.543 に答える