0

ストアドプロシージャで次のように複合条件を処理できるかどうかを教えてください。

if(
    ( (select Count(*) from dbo.Membership where EmailID=@emailID) >0) 
                                  || 
    ((select Count(*) from dbo.Allocation where ResourceEmail=@emailID)>0))
)
4

1 に答える 1

5

ORの代わりに使用||

存在をチェックするだけの場合は、COUNTの代わりにEXISTSを使用する方が最適です。これは、すべてをカウントするのではなく、最初の存在で停止するためです...

IF EXISTS(SELECT 1 FROM dbo.Membership WHERE EmailId = @emailID)
    OR EXISTS(SELECT 1 FROM dbo.Allocation where ResourceEmail=@emailID)
    BEGIN
       -- emailID exists in one of the 2 tables
    END
于 2012-10-24T15:39:40.420 に答える