有没有办法在.sql脚本中创建区域?

时间:2014-02-05 20:09:49

标签: sql-server

我在表中填写了大量预定义数据(在我的部署后的sql脚本中) 有没有办法创建C#样式区域,以便我可以折叠插入块以获得可读性和理智性?

这是一个简短的示例(#region已被注释掉):

MERGE INTO [MYTable] AS Target
USING (VALUES
        --#region Measurement_Id = 1 'Flow' for all reasources
         ( 1,  1, 1, 45, NULL, NULL)
        ,( 2,  2, 1, 56, NULL, NULL)
        ,( 3,  3, 1, NULL, NULL, NULL)
        ,( 4,  4, 1, 67.5, 87, NULL)
        ,( 5,  5, 1, NULL, NULL, NULL)
        ,( 6,  6, 1, 54., NULL, 87)
        ,( 7,  7, 1, NULL, NULL, NULL)
        --#endregion

        --#region Measurement_Id = 2 'Disc' for all reasources 
         ( 1,  1, 2, NULL, NULL, NULL)
        ,( 2,  2, 2, NULL, NULL, NULL)
        ,( 3,  3, 2, NULL, NULL, NULL)
        ,( 4,  4, 2, NULL, NULL, NULL)
        ,( 5,  5, 2, NULL, NULL, NULL)
        --#region
                ...

         ) AS Source ([Measurement_Id],[Measurement_Nm],[Measurement_Cd],[Measurement_Desc],[IsActive_Ind]) 
        ON (Target.[Measurement_Id] = Source.[Measurement_Id])

2 个答案:

答案 0 :(得分:3)

没有本机支持,但可以使用加载项实现它。

我为SSMS开发了SSMSBoost插件(www.ssmsboost.com)并添加了

- #region [name]

- #endregion

上一版本(2.12)中的

语法支持。还有一个选项可以自动解析打开的文件,以便立即显示区域。

答案 1 :(得分:2)

Database - how to create regions in TSQL (SQL Server 2008)

“区域和调试部分

区域的行为方式与Visual Studio中的行为方式相同。您可以折叠它们并展开它们。调试部分是在将脚本更改为Release配置时进行注释的部分。调试部分也是可折叠区域。如果在调试模式下使用添加的调试部分部署脚本,则在没有安装SSMS工具包的情况下从SSMS运行时将失败。您当然可以通过搜索调试部分的开始和结束文本来自行评论这些部分“。