ORA-01795 エラー: リスト内の最大式の解決
クエリで 1000 を超える式を指定しようとすると、ORA-01795 エラーが発生します。 IN 句内の式。これは、多数の値に基づいてテーブルからデータを選択するときに発生する可能性があります。
この問題に対処するには、回避策として複数の IN 句を使用できます。変更されたクエリは、複数の IN 句を利用して値をより小さなグループに分割し、チャンク内のデータをクエリします。
たとえば、次の例を考えてみましょう。
select field1, field2, field3 from table1 where name in ( 'value1', 'value2', ... 'value10000+' );
このクエリの結果は次のようになります。 IN 句内の式の数が多すぎるため、ORA-01795 エラーが発生します。これを解決するには、複数の IN 句を使用してクエリを書き直すことができます。
select field1, field2, field3 from table1 where name in ('value1', 'value2', ..., 'value999') or name in ('value1000', ..., 'value1999') or ...;
値をより小さなグループに分割し、複数の IN 句を使用することで、クエリは 1000 個の式制限を効果的に回避し、目的のデータを取得できます。 .
以上がOracle ORA-01795 エラーを解決する方法: IN 句の式が多すぎますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。