1
我通常需要在使用SSMS時將我的查詢結果發送到「Grid」,但我有一個特定的腳本,其結果是我需要發送「text 」。有沒有在我的.sql文件的開頭編寫腳本的方法? 我想這是隻有SSMS可以理解,它不會是一個普通的SQL語句強制執行一個sql腳本,並將結果轉換爲SSMS中的文本
我通常需要在使用SSMS時將我的查詢結果發送到「Grid」,但我有一個特定的腳本,其結果是我需要發送「text 」。有沒有在我的.sql文件的開頭編寫腳本的方法? 我想這是隻有SSMS可以理解,它不會是一個普通的SQL語句強制執行一個sql腳本,並將結果轉換爲SSMS中的文本
你可能會發現這個reddit的線程,你的情況有所幫助:https://www.reddit.com/r/SQLServer/comments/1vrlx3/i_want_to_turn_on_text_output_via_sql_command/
基本上,如果你有SQLCMD模式開啓,運行下面的打印文本:如果腳本不SQLCMD模式下執行開啓
:OUT STDOUT
SELECT * FROM TABLE
發出警告,你可以使用下面的檢查:
SET NOEXEC OFF; -- previous execution may have toggled it
:setvar IsSqlCmdEnabled "True"
GO
IF ('$(IsSqlCmdEnabled)' = '$' + '(IsSqlCmdEnabled)')
BEGIN
PRINT('Use SqlCmd-mode!!');
SET NOEXEC ON;
-- RAISERROR ('This script must be run in SQLCMD mode.', 20, 1) WITH LOG
END
ELSE
BEGIN
PRINT('Using SqlCmd-mode')
-- insert the code you really want to execute:
-- ...
END
SET NOEXEC OFF; -- do not disable next execution in this session
在我看來,如果sqlcmd模式關閉,我甚至不能使用第一個setvar來告訴我它已關閉......它只是沒有編譯。除此之外,答案非常有用。 –