DB2 データベースを使用しています。
次のようなクエリがあります。
DELETE FROM MYSCHEMA.MY_TABLE WHERE (PROD LIKE 'AB%' OR PROD LIKE 'CD%' OR PROD LIKE 'EF%');
上記のクエリはプロパティ ファイルに存在し、Java プログラムを使用して実行しています。
ただし、今は where 条件を外部化したいと考えています。
次のようなエントリを持つ単一の列 PROD_NAME を持つ新しいテーブル PROD_LIKE を作成しました。
PROD_NAME
------------
AB
CD
EF
------------
上記の新しく作成されたテーブルに存在するエントリを使用するように、削除クエリの where 条件を変更したいと考えています。
どうすれば達成できますか?
DB2 のドキュメントには次のように書かれています。
問題の解決 SQL Server や Oracle などの他のデータベースでは、「類似」比較で両方のオペランドにデータベース列を使用できますが、DB2 はより制限的です。クエリデータベースがDB2の場合、上記のような計算または選択を避ける必要があります。DB2 を照会し、比較で「like」を使用する場合、データベース列を 2 番目のオペランドとして使用する方法はありません。
これに代わるものは何ですか?