如何将多个批次放入单个逻辑块中

时间:2011-09-20 11:24:49

标签: sql-server tsql sql-server-2008 sql

我正在写一个需要做这样的事情的脚本:

IF [CONDITION]

BEGIN

--EXECUTE LOADS OF BATCHES (I.E. BLOCKS OF CODE WITH 'GO' AT THE END)

END

这似乎是不允许的。 GO块中不允许使用BEGIN...END语句。

我也试过这个:

IF NOT [CONDITION] GOTO GetMeOutOfHere

--EXECUTE LOADS OF BATCHES (I.E. BLOCKS OF CODE WITH 'GO' AT THE END)

GetMeOutOfHere:

但是,你猜对了,GOTO不适用于批次。

这个混乱的难题有没有解决方案?

2 个答案:

答案 0 :(得分:1)

只要摆脱GO语句,只要您不进行结构修改就不需要它们。

如果您要更改结构,则可能需要复制if条件。

答案 1 :(得分:0)

这个怎么样:

IF NOT [CONDITION]

SET NOEXEC ON

--EXECUTE LOADS OF BATCHES (I.E. BLOCKS OF CODE WITH 'GO' AT THE END)

SET NOEXEC OFF

它似乎与我现在正在做的脚本一起工作。