数据库 - 如何在 TSQL (SQL Server 2008) 中创建区域

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

有没有一种方法可以在 SQL 脚本文件中创建可折叠区域,就像我们在 Visual Studio 中创建的那样

#region ..... #endregion

脚本文件包含DDL语句,例如Alter Table,Alter View等,我想将它们分组在“表相关语句”“查看相关语句”等区域中

sql-server t-sql sql-server-2008
4个回答
17
投票

不可以,但是您可以使用

begin..end
块在 SSMS 中进行模拟,如下所示:

--Region 1
begin
  --Do Something
end

--Region 2
begin 
  --Do Something Else
end

begin..end
对可折叠。

编辑:

这只适用于 DML 脚本。 DDL 脚本更加挑剔,因为许多语句需要成为批处理中的第一个(原始问题没有说明 DDL 的使用。)

我认为没有一种方法可以在 DDL 的一个脚本文件中执行此操作 - 您需要将脚本分解为更小的脚本或存储过程。


9
投票

是的,使用 SSMS 工具包

区域和调试部分

区域的行为方式与 Visual Studio 中的相同。您可以折叠它们并展开它们。调试部分是当您将脚本更改为发布配置时获得注释的部分。调试部分也是一个可折叠区域。如果您在调试模式下部署脚本并添加了调试部分,则在未安装 SSMS 工具包的情况下从 SSMS 运行时,该脚本将会失败。您当然可以通过简单地搜索调试部分的开始和结束文本来自己评论这些部分


4
投票

我已在我的插件中添加了区域支持SSMSBoost(从 v 2.12 开始)

语法:

--#region [OptionalName]

--#endregion

3
投票

要响应“Alter 必须是批处理中的唯一语句”错误,您可以使用 GO 命令“分离”开始和结束批处理,这样就可以避免出现此消息,如下所示:

begin 
--do something
end
GO

begin
--do something else
end
GO

等等

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