2

我有一个很长的 SQL 脚本,我运行它来预填充一些临时表。在脚本的底部,我有一些手动运行的查询,以及一些其他的即席查询。我打开查询,然后启动它(需要几分钟才能运行)。但是,我不希望脚本末尾的所有查询都运行 - 我只想填充临时表。

SQL Server 2008 Management Studio有一个“断点”功能,可以在该点停止脚本,但是如果您关闭应用程序并重新打开它,它将忘记断点(仅持续到您设置它的会话)。

我可以注释掉底部的查询并手动运行它们。但是,对我来说理想的解决方案是在我的脚本中包含一个命令来阻止脚本运行。

SQL Server 2008是否有一个命令可以放入我的脚本中,该命令将在特定位置停止处理 ?

4

4 回答 4

6

只需在要停止执行脚本的地方放一个 RETURN 即可。

于 2012-04-30T20:45:39.623 回答
4

另一个可能的解决方案是放置一个 waitfor 命令,以便脚本暂停。如果您可以确定脚本已经到达该点,您可以随时停止它,只要您等待的时间不超过 waitfor。例如

-- first part of script

RAISERROR('Finished above section, about to wait...', 0, 1) WITH NOWAIT;
WAITFOR DELAY '23:59:59';

-- rest of script

您也可以有条件地执行此操作,例如

DECLARE @stop BIT = 0;

-- first part of script

IF @stop = 1
BEGIN
    RAISERROR('Finished above section, about to wait...', 0, 1) WITH NOWAIT;
    WAITFOR DELAY '23:59:59';
END

-- rest of script
于 2012-04-30T20:48:44.927 回答
0

添加类似的东西

如果(假)然后运行您的查询

并在您想执行它们时将其更改为 true

于 2012-04-30T20:46:36.560 回答
-3

但是最后的查询包含在注释块中,例如

/*

您的查询在这里

*/

于 2012-04-30T20:43:55.633 回答