ホームページ > データベース > mysql チュートリアル > Oracle ORA-01795 エラーを解決する方法: IN 句の式が多すぎますか?

Oracle ORA-01795 エラーを解決する方法: IN 句の式が多すぎますか?

Mary-Kate Olsen
リリース: 2025-01-04 05:32:40
オリジナル
270 人が閲覧しました

How to Solve Oracle ORA-01795 Error: Too Many Expressions in IN Clause?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート