2016-04-06 11 views
0

SQL Serverで条件ルールが満たされている場合、SQL Serverをデバッグする方法はありますか?SQL SERVER(2008)debug IF条件

ベストはSQL 2008のための答えがある場合であってもよいが、thatsのは、それ以降のバージョンでのみpossbile場合、私は、例えば、@Google

を尋ねることによってこれを見つけるカント以来、そして、私に教えてくださいます:

DECLARE @note4 nvarchar(max) 
    select @note4 = note4 from inserted 

    DECLARE @profileid int 
    select @profileid = profileid from inserted 


    IF (@note4 <> '' and @note4 is not null and @profileid in (123,1234)) 
    BEGIN 
     --some code goes here 
    END 

私はデバッグを行っているときに、これらの条件を返す方法を知る方法はありますか?

@note4 <> '' 
@note4 is not null 
@profileid in (123,1234) 

は偽か真ですか?

+0

? – Dane

+0

時計に追加しようとしました。ちょうど条件になります。\t ''(@ note4 <> 'と@ no​​te4はnullでなく、(123)の@profileid)'を評価できませんでした。これは同じ結果 '' @ note4 <> '' 'を評価できませんでした\t ' – arccuks

+0

私はここにどこに行くのかは分かりませんが、' - いくつかのコードはここにあります。単純にIFベースのロジックの代わりにJOINベースのロジックを実行します(すべてのSQLはセットベースのロジックをベースにしているため、使用することもできます)。テストデータに対してクエリを実行することで、テストするのがずっと簡単になります。 –

答えて

0

あなたが本当に何を各1つのリターンを確認したい場合ならば、あなたはあなたのメインの前に行うことができます:あなただけの条件を選択することができます

IF (@note4 <> '') 
BEGIN 
PRINT 'true @note4 <> ''''' 
END 
IF (@note4 is not null) 
BEGIN 
PRINT 'true @note4 is not null' 
END 
IF (@profileid in (123,1234)) 
BEGIN 
PRINT 'true @profileid in (123,1234)' 
END 
+0

まあ、私はデバッグについて尋ねています。もちろん、このような行を追加することはできますが、デバッグするときには、条件があれば返すことができるかどうかを知りたいと思います。 この提供されたコードでは、簡単に見るために変更することができますが、コードがもっと長い場合はどうなりますか?私はすべての時間を手作業で加えたいとは思っていません。 – arccuks