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

Mar*_*lli 3 replication sql-server ssms sql-server-2014

作为将文章添加到我的出版物的过程的一部分,我使用存储过程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
Run Code Online (Sandbox Code Playgroud)

我有超过数百篇文章的出版物。我保存了脚本,但我希望它们的格式正确。如何在 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
Run Code Online (Sandbox Code Playgroud)

目前对我有用的是将脚本复制并粘贴到 word 中,然后点击此链接: 可以在 Word 中与查找和替换一起使用的特殊字符

我可以把所有的“@”放在一个新行和其他类似的技巧中:

有没有办法使用 SSMS 进行这种级别的格式化?

在此处输入图片说明

Aar*_*and 10

SSMS 没有任何内置的格式设置功能,但有几个 3rd 方工具和网站可以提供帮助,其中许多是免费的,而且肯定比使用 Word 更好:

这只是搜索结果第一页的一个简短子集。我相信还有很多其他的,但我不想把它变成一个购物清单问题——主要的推动力是你需要选择一个你喜欢的工具,而不是希望 SSMS 可以直接做到这一点。


Dav*_*ave 6

Notepad++中点击几下即可免费获得带有一些自定义和相对全面结果的 T-SQL 格式化。选择插件菜单,选择插件管理器,按“P”,安装和自定义Poor Man's T-SQL Formatter。现在复制任何代码,Languages -> S -> SQL然后选择Plugins -> Poor Man's T-SQL Formatter -> Format T-SQL Code

如果您不想每次都更改语言,只需将新代码复制粘贴到同一个编辑器窗口中即可。 在此处输入图片说明

NotePad++ 还具有 Regex 支持和大量其他有用的功能。我没有附属,只是一个快乐的用户。