コンマで区切られた値を保持する文字列があります= value1、value2、value3 .......
次の操作を実行したい:
SELECT col FROM table WHERE col IN :values
値が 1000 エントリ未満の場合、これは正常に機能します。値に 1000 を超えるエントリがある場合、エラーが発生します。INの使用には制限があります。
このクエリを実行する別の方法はありますか?
編集: Oracle のビジネス インテリジェンス パブリッシャー アプリケーションです。顧客/ユーザーは、その下にある任意のデータベースを使用できます。
データベースを制御できません。そのため、一時テーブルまたはストアド プロシージャを作成できません。私ができることは、UI 画面から複数の値を選択し (コンマ区切りの文字列を形成します)、それを SQL クエリで使用することだけです。生成されるレポートによって異なります。
- 静的文字列値で EXISTS を使用することはできません。
- ストアド プロシージャまたは一時テーブルは使用できません。