Sử dụng truy vấn để thu thập các biến bạn muốn xuất. Một cái gì đó như thế này:
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
Sử dụng câu lệnh truy vấn này trong lệnh sau. Sử dụng queryout và thay thế [querystatement] bằng câu lệnh ở trên hoặc sử dụng một biến cho chuỗi truy vấn.
EXEC master..XP_CMDSHELL 'bcp "[querystatement]" queryout "c:\spt_values.dat"'
Nếu biến cần được khai báo bên ngoài câu lệnh:
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 '[email protected]+' queryout I:\File\mytest.txt -c -t -T -S YAMUNA\SQLEXPRESS';
exec xp_cmdshell @sql;