2009-08-09 58 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