Sql-Server
ssms - 如何格式化 T-SQL 腳本?
作為將文章添加到我的出版物的過程的一部分,我使用儲存過程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 更好:
- http://www.red-gate.com/products/sql-development/sql-prompt/
- http://www.apexsql.com/sql_tools_refactor.aspx
- http://www.dpriver.com/pp/sqlformat.htm
- http://www.cleancss.com/sql-beautify/
- http://www.sql-format.com/
- http://poorsql.com/
- http://www.freeformatter.com/sql-formatter.html
這只是搜尋結果第一頁的一個簡短子集。我相信還有很多其他的,但我不想把它變成一個購物清單問題——主要目的是你需要選擇一個你喜歡的工具,而不是希望 SSMS 可以直接做到這一點。