server输出几行 sql_如何将SQL Server存储过程的输出存储在.txt文件中
我有這個存儲過程;我正在打印ssms中變量的值。
相反,我希望將此結果存儲在
.txt
文件。
注意:我不想使用SSMS選項來執行此操作:右鍵單擊結果,然后將結果另存為。我希望直接在存儲過程本身中使用任何SQL代碼/內置函數來完成這項工作。
CREATE PROCEDURE [dbo].[usp_printresulttofile]
AS
BEGIN
DECLARE @var NVARCHAR(MAX) = ''
SET @var = 'print this data in txt file'
PRINT 'Data is : ' + @var
/* SQL query here to store result of Print statement in text file */
END
EXEC [dbo].[usp_printresulttofile]
在此共享更新的工作SP,以便對有類似要求的人有用,謝謝@david browne-microsoft
ALTER PROCEDURE [dbo].[usp_printresulttofile]
AS
BEGIN
DECLARE @fileTimeStamp varchar(200) = convert(varchar,getDate(), 112 )+'_'+ Replace(convert(varchar,getDate(), 114 ),':','') -- select convert(varchar, getdate(), 121)
DECLARE @fileExtension varchar(5) = 'txt'
DECLARE @var NVARCHAR(MAX) = ''
SET @var = 'print this data in txt file'
PRINT 'Data is : ' + @var
declare @fn varchar(500) = 'c:/log/SP_output_'+@fileTimeStamp+'.'+@fileExtension;
declare @cmd varchar(8000) = concat('echo ', @var, ' > "', @fn, '"');
print @cmd
exec xp_cmdshell @cmd, no_output
set @cmd = concat('type "', @fn, '"');
print @cmd
exec xp_cmdshell @cmd;
END
GO
總結
以上是生活随笔為你收集整理的server输出几行 sql_如何将SQL Server存储过程的输出存储在.txt文件中的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 吉他谱——有多少爱可以重来
- 下一篇: 波波的个人简历