【问题标题】:Format SQL in SQL Server Management Studio在 SQL Server Management Studio 中格式化 SQL
【发布时间】:2010-09-28 22:50:41
【问题描述】:

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

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

我正在处理一些大型的存储过程,这些过程是由格式不佳的 SQL 组成的杂乱无章的混乱,如果我可以去“全选 -> 格式化 SQL”就好了

【问题讨论】:

标签: sql-server formatting ssms


【解决方案1】:

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

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

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

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

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

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

【讨论】:

  • 刚试了一下,选项设置让这个成为真正的赢家,我只试了网站一个(工作限制下载,但我稍后会在家里尝试)
  • 在 SQL Server 2012 上,默认的 Ctrl+K、Ctrl+F 快捷键不起作用,因为它说它已经绑定到 格式选择。将其从 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 进行跟踪)
【解决方案2】:

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

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

【讨论】:

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

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

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

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

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

【讨论】:

  • 只是为了清楚起见,Azure Data Studio 是一个本地工具,适用于本地、本地和云中的所有数据库,它的名称具有误导性。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多