Sql-Server

ssms - 如何格式化 T-SQL 腳本?

  • October 9, 2015

作為將文章添加到我的出版物的過程的一部分,我使用儲存過程sp_addarticle

use [Returns]
exec sp_addarticle @publication = N'USReturns', @article = N'tblReturnsContainerTypeDescr', @source_owner = N'dbo', @source_object = N'tblReturnsContainerTypeDescr', @type = N'logbased', @description = N'', @creation_script = N'', @pre_creation_cmd = N'drop', @schema_option = 0x000000000803509F, @identityrangemanagementoption = N'none', @destination_table = N'tblReturnsContainerTypeDescr', @destination_owner = N'dbo', @status = 24, @vertical_partition = N'false', @ins_cmd = N'CALL [sp_MSins_dbotblReturnsContainerTypeDescr]', @del_cmd = N'CALL [sp_MSdel_dbotblReturnsContainerTypeDescr]', @upd_cmd = N'SCALL [sp_MSupd_dbotblReturnsContainerTypeDescr]'
GO

我有數百篇文章的出版物。我保存了腳本,但我希望它們的格式正確。如何在 SSMS 中格式化我的腳本?

我想以這種方式查看我的腳本:

use [Returns]
exec sp_addarticle 
@publication = N'USReturns', 
@article = N'tblReturnsContainerTypeDescr', 
@source_owner = N'dbo', 
@source_object = N'tblReturnsContainerTypeDescr', 
@type = N'logbased', 
@description = N'', 
@creation_script = N'', 
@pre_creation_cmd = N'drop', 
@schema_option = 0x000000000803509F, 
@identityrangemanagementoption = N'none', 
@destination_table = N'tblReturnsContainerTypeDescr', 
@destination_owner = N'dbo', 
@status = 24, 
@vertical_partition = N'false', 
@ins_cmd = N'CALL [sp_MSins_dbotblReturnsContainerTypeDescr]', 
@del_cmd = N'CALL [sp_MSdel_dbotblReturnsContainerTypeDescr]', 
@upd_cmd = N'SCALL [sp_MSupd_dbotblReturnsContainerTypeDescr]'
GO

目前對我有用的是將腳本複制並粘貼到word中,然後點擊此連結: 您可以在Word中的查找和替換中使用的特殊字元

我可以將所有的“@”放在一個新行和其他類似的技巧中:

有沒有辦法使用 SSMS 進行這種級別的格式化?

在此處輸入圖像描述

SSMS 沒有任何內置的格式化功能,但有幾個第三方工具和網站可以提供幫助,其中許多是免費的,而且肯定比使用 Word 更好:

這只是搜尋結果第一頁的一個簡短子集。我相信還有很多其他的,但我不想把它變成一個購物清單問題——主要目的是你需要選擇一個你喜歡的工具,而不是希望 SSMS 可以直接做到這一點。

引用自:https://dba.stackexchange.com/questions/117567