如何使用T-SQL,變量值和查詢結果寫入文本文件,我想實際上要繼續追加。SQL Server-如何將變量和查詢結果寫入文本文件?
回答
您可以使用SQL CLR將任何想要寫入的文件寫入文件。你可以自己編寫代碼,或者你可以使用SQL#庫(我是作者,它不是免費的 - 對於這個功能 - 但並不昂貴),並使用File_WriteFile函數寫出文本。它允許附加數據。該庫對於大多數功能是免費的,但不適用於文件系統功能。它可以在這裏找到:http://www.SQLsharp.com/
如果你想嘗試這種編碼自己,我發現這個例子是基本的概念,我認爲你所要求的:http://www.mssqltips.com/tip.asp?tip=1662
這工作,但它是一個有點神祕。調整到您的查詢。基本上你會創建命令行回顯行,通過xp_cmdshell執行並循環執行。
declare @cmd varchar(500), @minid int, @maxid int;
declare @output table(
id int identity(1,1) primary key,
echo varchar(500) not null
)
set @cmd = 'select top 10 ''ECHO ''+name+'' >> C:\test.txt'' from master.dbo.sysobjects'
insert into @output(echo)
exec(@cmd)
select @minid=Min(ID),@maxid=Max(ID) from @output
while @minid <= @maxid
begin
select @cmd = echo from @output where id = @minid;
exec xp_cmdshell @cmd;
set @[email protected]+1;
end
啓用和使用xp_cmdshell會將您的實例暴露給額外的安全風險。使用CLR更安全,但也不建議用於此目的。這兩個選項只會讓糟糕的設計決策變得更糟。
你爲什麼試圖從T-SQL寫入文件?抵制將SQL Server轉變爲腳本平臺的衝動。使用像SSIS,PowerShell或C#這樣的應用程序語言與SQL Server進行交互,並根據需要將輸出寫入日誌文件。
我正在使用循環函數更新SQL中的記錄以獲取最高數字ID並在將其設置爲我正在更新的記錄的ID之前向其中添加1。這是從兩個系統合併到一個系統的信息。當我這樣做時,我想知道ID之前是什麼,然後是什麼,所以如果發生任何事情,我可以退出它或撤消更新。這不是應該在SQL中完成的事情嗎? – rud3y 2017-04-20 13:24:13
我在這個問題上有問題,所以我想提議我做了什麼。 我聲明瞭選擇結果的光標,然後我將它們寫入文件。例如:
DECLARE @cmd NVARCHAR(400)
DECLARE @var AS NVARCHAR(50)
,@Count = (SELECT COUNT(*) FROM Students)
DECLARE Select_Cursor CURSOR FOR
SELECT name FROM Students OPEN Select_Cursor
FETCH NEXT FROM Select_Cursor INTO @var
WHILE (@Count>0)
SET @cmd = 'echo ' + @var +' >> c:\output.txt'
EXEC master..xp_cmdshell @cmd
SET @Count = @Count - 1
FETCH NEXT FROM Select_Cursor INTO @var
END
CLOSE SelectCursor
DEALLOCATE SelectCursor
- 1. 將SQL查詢結果寫入文本文件
- 2. 將查詢結果寫入文件
- 3. 如何將MySQL查詢的結果寫入循環內的文本文件?
- 4. 將MS SQL查詢結果寫入Excel文件
- 5. 將sql查詢的結果寫入mysql中的文件
- 6. 將LINQ結果寫入文本文件
- 7. 將結果寫入文本文件
- 8. MongoDb:如何將mongoDb查詢結果寫入文件?
- 9. 如何cancat查詢結果到文本變量?
- 10. 將PHP查詢結果導入變量
- 11. C#將sql查詢寫入文件?
- 12. 將SQL Server查詢結果保存到文件
- 13. SQL Server 2005將變量設置爲選擇查詢的結果
- 14. Oracle 10g - 將查詢結果寫入文件
- 15. 如何將變量寫入文件?
- 16. MySqlContext如何將查詢寫入變量
- 17. 將變量寫入文件
- 18. 如何將兩個變量寫入一個文本文件?
- 19. sqoop oozie將查詢結果寫入文件
- 20. 將查詢結果寫入序言中的文件
- 21. 如何從查詢結果中寫入SQL中的多個文件?
- 22. C#SQL查詢結果到文本框
- 23. 如何將查詢結果存儲到一個sql變量
- 24. 將php腳本結果寫入文本文件
- 25. 將查詢結果寫入新表
- 26. SQL查詢,將SELECT的結果存儲在本地變量中
- 27. Python將結果寫入文件
- 28. SQL Server CACHES查詢結果?
- 29. 如何從SQL Server全文查詢中突出顯示結果
- 30. 如何在SQL Server 2008中寫入文本文件
我不建議使用數據的基礎上寫入一個文本文件。改寫一張表。 – Hogan 2011-04-11 19:28:57