【发布时间】:2010-12-08 09:49:31
【问题描述】:
我可以在 sql server 编辑器中创建区域(如 C# 中的 #region 和 #endregion)吗?
【问题讨论】:
-
如果有人正在寻找 mysql 等价物,请使用
--#region Some text和--#endregion
标签: sql-server region
我可以在 sql server 编辑器中创建区域(如 C# 中的 #region 和 #endregion)吗?
【问题讨论】:
--#region Some text 和 --#endregion
标签: sql-server region
不是真的,对不起!但是……
添加begin 和end.. 并在begin 上添加评论会创建看起来像这样的区域...有点hack!
否则,您只能展开和折叠,您无法指定应该展开和折叠的内容。并非没有第三方工具,例如SSMS Tools Pack。
【讨论】:
end 语句之后添加 go。
CREATE SCHEMA,它似乎会中断。
(我是SSMSBoost SSMS 插件的开发者)
我们最近在 SSMSBoost 插件中添加了对这种语法的支持。
--#region [Optional Name]
--#endregion
它还有一个选项,可以在打开脚本时自动“识别”区域。
【讨论】:
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
【讨论】:
在 Sql Server Management Studio 中不是开箱即用的,但它是一个很好的 feature SSMS Tools Pack
【讨论】:
不,T-SQL 语言中不存在#region。
您可以使用 begin-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 **/
我实际上更喜欢这种方式,因为我知道我的BEGIN 与END 这种方式匹配。
【讨论】:
另一种选择是
如果您的目的是分析您的查询,Notepad+ 为 Sql 提供了有用的自动包装器。
【讨论】: