ChatGPT解决这个技术问题 Extra ChatGPT

在 SQL Server Management Studio 中格式化 SQL

在 Visual Studio 和其他 IDE 中,您可以轻松地使用键盘快捷键、通过菜单或在您键入时自动格式化代码。

我想知道是否还有一种方法可以在 SQL Server Management Studio 中启用此标准功能?

我正在使用一些大型的存储过程,这些过程是格式错误的 SQL 的混乱,如果我可以去“全选 - > 格式化 SQL”就好了

SQLinForm 提供热键功能
它现在有一个免费的在线格式化程序:sqlinform.com/sql_formatter_online.html
将 Q 更新为主题

H
Hp_issei

迟到的答案,但希望值得:Poor Man's T-SQL Formatter 是一个开源(免费)T-SQL 格式化程序,具有完整的 T-SQL 批处理/脚本支持(任何 DDL、任何 DML)、SSMS 插件、命令行批量格式化程序和其他选项。

它可在 http://poorsql.com 立即/在线使用,并且刚刚升级到“1.0 版”(它是几个月的测试版),刚刚获得对 MERGE 语句、OUTPUT 子句和其他的支持挑剔的东西。

SSMS 插件允许您设置自己的热键(默认为 Ctrl-K、Ctrl-F,以匹配 Visual Studio),并格式化整个脚本或仅格式化您选择/突出显示的代码(如果有)。输出格式是可定制的。

在 SSMS 2008 中,它与内置的智能感知很好地结合在一起,有效地提供了与 Red Gate 的 SQL Prompt 或多或少相同的基本功能(当然,SQL Prompt 确实有额外的东西,比如片段、快速对象脚本、 ETC)。

非常欢迎反馈/功能请求,如果有机会,请试一试!

披露:这可能已经很明显了,但我写了这个库/工具/站点,所以这个答案也是无耻的自我推销:)


刚试了一下,选项设置使它成为真正的赢家,我只尝试了网站一个(工作限制下载,但我稍后会在家里尝试)
在 SQL Server 2012 上,默认的 Ctrl+K、Ctrl+F 快捷键不起作用,因为它说它已经绑定到 Format Selection。将其从 DataWarehouse Designer::Ctrl+k, Ctrl+f 更改为 Global::Ctrl+k, Ctrl+j 后它工作。
查看 SSMS 2014 安装提示stackoverflow.com/questions/23303026/…
很棒的工具,但与 2016 RTM 不兼容
@Jordan:在 Windows 10 中,.Net Framework 3.5 SP1(包括 .Net 2.0)是 Windows 的可选功能,可以在“打开或关闭 Windows 功能”屏幕/功能中启用。它被称为“.NET Framework 3.5(包括 .NET 2.0 和 3.0)”,它位于可选功能列表的顶部 - 这对您不起作用吗? (是的,抱歉,在当今时代要求 .Net 2.0 可能是不合理的......创建了要跟踪的问题 github.com/TaoK/PoorMansTSqlFormatter/issues/199
C
Cœur

我偶然发现了一个特殊的技巧。

选择要格式化的查询。 Ctrl+Shift+Q(这将在查询设计器中打开您的查询)然后就可以了,瞧!查询设计器将为您格式化您的查询。需要注意的是,您只能对语句而不是过程代码执行此操作,但总比没有好。


不错的提示。可悲的是,虽然这种方法确实有效,但恕我直言,它做得相当糟糕。但至少有一些内置的东西。
好吧,据我所知,虽然它并没有真正做得最好,但它确实做了一些事情,而且它是开箱即用的,你不必为此付费。但只有一个人认为它是有用的。我真的很惊讶,我以为我把这个钉住了 ;-)
我发现,类似地,查询在粘贴到新视图时会被格式化。但是,这更清洁...... +1。
仅当查询的内容能够以图形方式表示时,这才有效。
注意 不仅它不适用于复杂查询(需要格式化的查询),而且,如果您选择复杂查询并在 Management Studio v 11.0.6020 下按 Ctrl+Shift+Q,它会崩溃,可能会丢失一些你的工作。 (尽管有恢复功能。)
s
stefan.at.wpf

Azure Data Studio - 免费且来自 Microsoft - 提供自动格式化(编辑时 ctrl + shift + p -> 格式化文档)。有关 Azure Data Studio here 的详细信息。

虽然这不是 SSMS,但它非常适合编写查询、免费和 Microsoft 的官方产品。它甚至是跨平台的。小故事:只需切换到 Azure Data Studio 即可编写查询!

更新:实际上 Azure Data Studio 在某种程度上是 Microsoft 推荐的用于编写查询的工具 (source)

如果您: [..] 主要是在编辑或执行查询,请使用 Azure Data Studio。


只是为了清楚起见,Azure Data Studio 是一个适用于所有数据库、本地、本地和云中的本地工具,它的名称具有误导性。
是的。正如@HalvarF 所说,这是一款很棒的软件,但名字却很可怕。
它仍然存在一些问题,例如:不断断开具有 AAD 身份验证的服务器或缺少“查看依赖项”功能。我已经尝试在工作中使用它一周,但 SSMS 对我来说仍然更好(即使只用于查询)。
我不知道他们为什么没有将相同的功能放入 SSMS,但它确实有效,而且总比没有好。我还发现有一种从 SSMS 中打开它的便捷方法,您可以转到 Tools > Azure Data Studio,它会打开