2009-08-09 59 views
0

我正在尝试解决此问题。符合条件时终止脚本

我有一系列如下所示的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语句的休息吗?

干杯。

回答

2

代替的if..else的,你可以检查行数(或其他标准)的@@值均选择后,并返还或在脚本结束后藤标签如果该值大于0.它仍然是很多有条件的检查,但嵌套不会很难管理。

例如

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' 
+0

当然OMG!谢谢你。这里的星期天很慢。大声笑 – super9 2009-08-09 12:16:48

+0

np,很高兴我能帮上忙。 – cmsjr 2009-08-09 12:18:39