Maison > base de données > tutoriel mysql > Comment résoudre l'erreur Oracle ORA-01795 : trop d'expressions dans la clause IN ?

Comment résoudre l'erreur Oracle ORA-01795 : trop d'expressions dans la clause IN ?

Mary-Kate Olsen
Libérer: 2025-01-04 05:32:40
original
271 Les gens l'ont consulté

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

Surmonter l'erreur ORA-01795 : expressions maximales dans une liste

L'erreur ORA-01795 se produit lorsqu'une requête tente de spécifier plus de 1 000 expressions dans une clause IN. Cela peut se produire lors de la sélection de données dans une table basée sur un grand nombre de valeurs.

Pour résoudre ce problème, plusieurs clauses IN peuvent être utilisées comme solution de contournement. La requête modifiée diviserait les valeurs en groupes plus petits, en utilisant plusieurs clauses IN pour interroger les données en morceaux.

Par exemple, considérons l'exemple suivant :

select field1, field2, field3 
from table1 
where name in 
(
'value1',
'value2',
...
'value10000+'
);
Copier après la connexion

Cette requête entraînerait l'erreur ORA-01795 due au nombre excessif d'expressions dans la clause IN. Pour résoudre ce problème, la requête peut être réécrite à l'aide de plusieurs clauses IN :

select field1, field2, field3 from table1 
where  name in ('value1', 'value2', ..., 'value999') 
    or name in ('value1000', ..., 'value1999') 
    or ...;
Copier après la connexion

En divisant les valeurs en groupes plus petits et en utilisant plusieurs clauses IN, la requête peut efficacement contourner la limite de 1 000 expressions et récupérer les données souhaitées. .

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal