XMLAGG | Agrégat XML |
|---|---|
| Oracle Database SQL | Oracle 9i Release 1 (version 9.0) ou supérieure |
Syntaxe
| XMLAGG(XMLType,OrderBy) |
Paramètres
| Nom | Description |
|---|---|
| XMLType | Ce paramètre permet d'indiquer le type de l'instance XML. |
| OrderBy | Ce paramètre permet d'indiquer un nombre correspondant à son ordre. |
Description
Cette fonction permet de traiter une collection de fragment XML et de retourner l'agrégat du document XML.
Remarques
- La fonction XMLAGG agrège plusieurs fragments XML en un seul document XML. Elle est particulièrement utile lorsqu'on travaille avec des ensembles de données XML entreposés dans une base Oracle.
- Cette fonction est disponible depuis Oracle 9i Release 1 (version 9.0), ce qui montre son ancienneté et son intégration précoce dans la gestion avancée des données XML.
- Le paramètre XMLType représente l'ensemble des fragments XML à agréger. Il peut s'agir d'une colonne ou d'une expression retournant des données de type XMLType.
- Le paramètre optionnel OrderBy permet de spécifier l'ordre dans lequel les fragments XML seront concaténés, ce qui est essentiel pour préserver la logique temporelle ou séquentielle des données.
- XMLAGG retourne un seul document XML résultant de la concaténation ordonnée des fragments, ce qui facilite l'export, la transformation ou l'analyse consolidée.
- Cette fonction est souvent combinée avec d'autres fonctions XML d'Oracle, comme EXTRACT ou XMLQUERY, pour manipuler finement les données XML dans des requêtes SQL.
- La syntaxe XMLAGG(XMLType, OrderBy) permet d'inclure une clause ORDER BY en interne, ce qui évite des manipulations supplémentaires dans la requête externe.
- En cas d'agrégation sur un grand nombre de fragments XML, il est conseillé de vérifier la taille du résultat pour éviter les dépassements de mémoire ou de taille limite des documents XML.
- La fonction XMLAGG est adaptée pour les rapports, les exportations de données et la construction de structures XML complexes à partir de plusieurs enregistrements.
- Lorsqu'elle est utilisée dans des requêtes GROUP BY, XMLAGG permet de regrouper les fragments XML par clef, créant ainsi des sous-documents XML liés à chaque groupe.
- La fonction traite correctement les fragments XML partiels et peut gérer des nouds XML imbriqués sans perte de structure, ce qui garantit la validité du document résultant.
- En termes de performance, l'usage de XMLAGG peut être coûteux en ressources sur de très grands ensembles de données, il faut donc optimiser les requêtes ou limiter le volume de données à agréger.
Voir également
Langage de programmation - XML (eXtensible Markup Language) - Accueil
Article - Les géants de l'informatique - Oracle
Dernière mise à jour : Lundi, le 11 mai 2015