sql 服务器#region

问题描述 投票:0回答:9

我可以在 sql server 编辑器中创建区域(如 C# 中的

#region
#endregion
)吗?

sql-server region
9个回答
322
投票

不是真的,对不起!但是……

添加

begin
end
.. 并在
begin
上添加评论创建看起来像这样的区域......虽然有点骇人听闻!

screenshot of begin end region code

否则你只能展开和折叠你不能指定应该展开和折叠的内容。并非没有第三方工具,例如

SSMS Tools Pack.


22
投票
(我是

SSMSBoost SSMS 插件的开发者)

我们最近在 SSMSBoost 插件中添加了对这种语法的支持。

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

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


11
投票
BEGIN...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
    

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

展开图:

折叠视图:


6
投票
在 Sql Server Management Studio 中不是开箱即用的,但它是非常好的

SSMS 工具包feature


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

您可以使用开始结束块进行代码折叠:

--我的地区 开始 -- 代码在这里 结尾

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


3
投票
我使用了一种类似于 McVitie 的技术,并且只用于非常长的存储过程或脚本。我将像这样分解某些功能部分:

BEGIN /** delete queries **/ DELETE FROM blah_blah END /** delete queries **/ BEGIN /** update queries **/ UPDATE sometable SET something = 1 END /** update queries **/

这种方法在management studio中表现得相当不错,对审查代码很有帮助。倒塌的部分看起来有点像:

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

我实际上更喜欢这种方式,因为我知道我的

BEGIN

以这种方式与
END
相匹配。


2
投票
另一种选择是

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


0
投票
对不起伙计们......如果你包装任何 GO 语句,BEGIN 和 END 将不起作用

© www.soinside.com 2019 - 2024. All rights reserved.