2009-08-09 9 views
0

この問題を解決しようとしています。条件が満たされたらスクリプトを終了する

私は以下のような一連のSELECT文を持っています。 ELSE IF文使用せず

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

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

. 
. 
. 

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

、私は途中でこのスクリプトを終了し、SELECT文の残りの部分を実行することなく、すぐに何かが選択されているように、選択を返すことができる方法はありますか?

乾杯。

答えて

2

IF..ELSEの代わりに、各選択の後に@@ Rowcount(または他の基準)の値をチェックし、値が大きい場合はスクリプトの最後にラベルを返すか、これは依然として多くの条件チェックになりますが、ネストは管理が難しくありません。

当然の

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!ありがとう。遅い日曜日をここに持っています。 lol – super9

+0

np、私は助けてうれしいです。 – cmsjr

関連する問題