Maison > base de données > tutoriel mysql > Comment surmonter l'erreur ORA-01489 lors de l'utilisation de LISTAGG dans Oracle SQL ?

Comment surmonter l'erreur ORA-01489 lors de l'utilisation de LISTAGG dans Oracle SQL ?

Susan Sarandon
Libérer: 2025-01-18 16:51:13
original
535 Les gens l'ont consulté

How to Overcome ORA-01489 Error When Using LISTAGG in Oracle SQL?

Fonction Oracle SQL LISTAGG et erreur ORA-01489

La fonction LISTAGG, utile pour concaténer des chaînes dans Oracle SQL Developer, peut générer l'erreur « ORA-01489 : le résultat de la concaténation de chaînes est trop long ». Cette limitation provient du fait que la sortie de LISTAGG est limitée à un maximum de 4 000 caractères.

Solution utilisant XMLAGG

Pour dépasser cette limite de 4 000 caractères, utilisez la fonction XMLAGG comme alternative plus flexible :

<code class="language-sql">SELECT RTRIM(XMLAGG(XMLELEMENT(E, colname, ',').EXTRACT('//text()') ORDER BY colname).GetClobVal(), ',') AS LIST
FROM tablename;</code>
Copier après la connexion

XMLAGG renvoie un type de données CLOB, capable de gérer des longueurs de chaîne beaucoup plus grandes, éliminant ainsi l'erreur ORA-01489. Cette approche regroupe efficacement de vastes ensembles de données sans les contraintes imposées par LISTAGG.

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