ストアド プロシージャを使用して、SQL Server テーブルに存在するデータを検証しようとしています。検証ルールの 1 つで、特定の列の値が別のテーブルに存在するかどうかを確認する必要があります。
次の列Cat_ID、Amount、SRC_CDEを持つステージングテーブルがあるとします
次の列 CatID 、 Cat_Name を持つ「maintable」があります
ステージング テーブルに存在する Cat_ID が各行の「maintable」に存在するかどうかを検証する必要があります
次のステートメントを使用して検証しています
if((Select count(*) from maintable where CatID= @Cat_id) >0 )
-- Do something if data present
すべての行に選択クエリを使用する以外に、上記のことを行うより良い方法があるかどうかを知りたいです。
選択クエリを使用する代わりに、メインテーブルとチェックからすべての CatID を取得できる何らかの配列を使用できますか。
ありがとう