私はそれについて検索しましたが、何も見つかりませんでした(それを行うことは不可能だと思います)。私の問題は、一時テーブルが存在するかどうか、またその一時テーブルに特定のデータがあるかどうかを確認する必要があることです。
誰もこれに直面したことがありますか?どうやって解決できましたか?IF..ELSE
何百万ものブロックを作成することは避けたいと思います。
編集:
IF (OBJECT_ID('tempdb..#tempTable') IS NOT NULL
AND EXISTS (SELECT * FROM #tempTable WHERE THIS_COLUMN = 'value'))
BEGIN
PRINT 'Temp table and data exists'
END
ELSE
BEGIN
PRINT 'Temp table or data does not exist'
END
これが私がやりたいことです。問題は、tempTable が存在しない場合に発生します (発生する可能性があります)。最初のステートメントは false を返しますが、2 番目のステートメントを引き続き実行するため、エラーがスローされます。また、SELECT
ステートメントはテーブルを見つけることができないため、エラーがスローされます。私が見つけた解決策は、これを行うことでした:
IF OBJECT_ID('#tempTable') IS NOT NULL
BEGIN
IF EXISTS (SELECT * FROM #tempTable WHERE THIS_COLUMN = 'value'
BEGIN
PRINT 'Temp table and data exists'
END
ELSE
BEGIN
PRINT 'Temp table exists but data does not exist'
END
END
ELSE
BEGIN
PRINT 'Temp table does not exist'
END
私の質問は、2 つの条件を持つ方法はありますか?最初の条件が false を返した場合、2 番目の条件をチェックしないでください。&&
プログラミング言語での使用の種類。