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+' );
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 ...;
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!