Sql 服务器 # 区域

我可以在 sql 服务器编辑器中创建区域(如 C # 中的 #region#endregion)吗?

162417 次浏览

没有,对不起! 但是..。

添加 beginend. . 并在 begin上添加注释将创建如下所示的区域... 不过还是有点黑!

screenshot of begin end region code

否则你只能展开和折叠,你不能指定什么应该展开和折叠。没有像 SSMS 工具包这样的第三方工具就不行。

在 SqlServerManagementStudio 中没有开箱即用,但它是 特写中非常好的 SSMS 工具包

不,在 T-SQL 语言中不存在 # region。

您可以使用起始端块进行代码折叠:

-- my region
begin
-- code goes here
end

我不确定我是否会推荐使用它们,除非代码不能通过其他方式进行可接受的重构!

我使用了一种类似于 McVitie 的技术,并且只在存储过程或相当长的脚本中使用。我会像这样分解某些功能部分:

BEGIN /** delete queries **/


DELETE FROM blah_blah


END /** delete queries **/


BEGIN /** update queries **/


UPDATE sometable SET something = 1


END /** update queries **/

这个方法在管理工作室中表现得相当不错,对于检查代码非常有帮助。倒塌的部分看起来有点像:

BEGIN /** delete queries **/ ... /** delete queries **/

实际上我更喜欢这种方式,因为我知道我的 BEGINEND是这样匹配的。

END 可以工作,只需要添加一个注释部分。最简单的方法是添加一个部分名称!另一种方法是添加一个注释块。见下文:

BEGIN  -- Section Name
/*
Comment block some stuff  --end comment should be on next line
*/


--Very long query
SELECT * FROM FOO
SELECT * FROM BAR
END

(我是为 SSMS 开发 SSMSBoost外接程序)

我们最近在 SSMSBoost 外接程序中添加了对此语法的支持。

--#region [Optional Name]
--#endregion

它还有一个选项,可以在打开脚本时自动“识别”区域。

这只是在查询编辑器中使用文本缩进的问题。

扩展视野:

Expanded

塌陷景观:

Collapsed

另一个选择是

如果你的目的是分析你的查询,记事本 + 有有用的 Sql 自动包装器。