177

我可以在 sql server 编辑器中创建区域吗(比如在 C# 中)#region#endregion

4

8 回答 8

303

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

添加beginend.. 对begin创建的区域进行评论,看起来像这样......虽然有点黑客!

开始结束区域代码的屏幕截图

否则,您只能展开和折叠,您无法指定应该展开和折叠的内容。并非没有第三方工具,例如SSMS Tools Pack

于 2010-12-08T09:54:24.420 回答
17

(我是 SSMS 的SSMSBoost插件的开发者)

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

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

它还具有在打开脚本时自动“识别”区域的选项。

于 2014-03-25T11:44:39.163 回答
12

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
于 2013-03-26T18:22:43.837 回答
6

在 Sql Server Management Studio 中不是开箱即用的,但它是非常好的SSMS 工具包的一个功能

于 2010-12-08T09:54:49.377 回答
5

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

扩展视图:

展开

折叠视图:

折叠

于 2016-05-13T04:58:29.683 回答
3

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

您可以使用 begin-end 块进行代码折叠:

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

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

于 2010-12-08T09:56:39.473 回答
2

我使用了一种类似于 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这种方式相匹配。

于 2013-03-06T18:38:06.660 回答
2

另一种选择是

如果您的目的是分析您的查询,Notepad+ 为 Sql 提供了有用的自动包装器。

于 2018-03-12T08:20:02.707 回答