一旦满足条件就终止脚本

时间:2009-08-09 12:07:32

标签: sql-server-2005

我正在努力解决这个问题。

我有一系列SELECT语句,如下所示。

SELECT Name FROM Table1 WHERE Name LIKE '%Tom%'

SELECT Name From Table2 WHERE Name LIKE '%Tom%'

.
.
.

SELECT Name FROM Table10 WHERE Name Like '%Tom%'

如果不使用IF ELSE语句,有没有办法可以在中途终止此脚本并在选择某些内容后立即返回选择而不必执行其余的SELECT语句?

干杯。

1 个答案:

答案 0 :(得分:2)

而不是IF..ELSE,您可以在每次选择后检查@@ Rowcount(或其他一些条件)的值,如果值大于0,则返回或转到脚本末尾的标签它仍然会进行大量的条件检查,但嵌套不会那么难以管理。

e.g。

declare @vals table (id int)
Declare @rc int
Insert into @vals (id) values (1)
Select * from @vals
set @rc = @@ROWCOUNT
if @rc <> 0
Begin
    Print 'Exiting Early'
    return 
End
Select * from @vals
Select * from @vals
Select * from @vals
Select * from @vals
Select * from @vals

declare @vals table (id int)
Declare @rc int
Insert into @vals (id) values (1)

Select * from @vals
set @rc = @@ROWCOUNT
if @rc <> 0
Begin
    Print 'Exiting Early'
    GOTO EarlyExit 
End


Select * from @vals
Select * from @vals
Select * from @vals
Select * from @vals
Select * from @vals


EarlyExit:
    Print 'We are done here'