我可以在sql server编辑器中创建区域(如C#中的#region
和#endregion
)吗?
答案 0 :(得分:234)
不是,抱歉!但...
添加begin
和end
..以及对begin
的评论会创建看起来像这样的区域...... 有点破解! < / p>
否则你只能展开和折叠你就不能决定应该扩展和折叠的内容。不是没有第三方工具,例如SSMS Tools Pack。
答案 1 :(得分:9)
(我是SSMS SSMSBoost加载项的开发人员)
我们最近在SSMSBoost插件中添加了对此语法的支持。
--#region [Optional Name]
--#endregion
它还可以选择自动识别&#34;打开脚本时的区域。
答案 2 :(得分:8)
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
答案 3 :(得分:6)
在Sql Server Management Studio中没有开箱即用,但它是非常好的feature
的SSMS Tools Pack答案 4 :(得分:3)
答案 5 :(得分: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 **/
我实际上更喜欢这种方式,因为我知道我的BEGIN
与END
这样匹配。
答案 6 :(得分:1)
另一种选择是
如果你的目的是分析你的查询,Notepad +有一个有用的Sql自动包装器。
答案 7 :(得分:0)
不,T-SQL语言中不存在#region。
您可以使用开始结束块进行代码折叠:
-- my region begin -- code goes here end
我不确定我是否建议使用它们,除非代码不能通过其他方式进行可接受的重构!