ホームページ >データベース >mysql チュートリアル >ORA-01795 を回避する方法: 複数の IN 句の代替手段?
「ORA-01795: リスト内の最大式エラー」を処理するための代替アプローチ
「ORA-01795: 最大数」が発生した場合リスト内の式の数は 1000 個のエラーです」という場合の標準的なアドバイスは、クエリを変更して複数の IN 句を含めることです。答えに見られます。ただし、この制限を回避する別の代替方法を検討してみましょう。
1 つの代替方法は、次のクエリに示すように、一時テーブルを使用することです。
CREATE TABLE temp_table AS SELECT DISTINCT name FROM table1 WHERE name IN ('value1', 'value2', ..., 'value10000+'); SELECT field1, field2, field3 FROM table1 WHERE name IN (SELECT name FROM temp_table); DROP TABLE temp_table;
この方法には、次の利点があります。これにより、複数の句に分割する必要がなく、値のセット全体を 1 つの IN 句で使用できるようになります。さらに、一時テーブルは将来のクエリのために保持できるため、再利用可能です。
どちらのアプローチも「ORA-01795」エラーの解決には効果的ですが、どちらを選択するかは、特定の要件と制約によって異なります。データベース環境。
以上がORA-01795 を回避する方法: 複数の IN 句の代替手段?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。