Question

Nous essayons de retravailler le SQL dans un produit. Le produit stocke XML dans un tableau comme suit:

XML_STORAGE
- UID IDENTITY
- PARENT_ID INTEGER
- SEQ INTEGER
- XML VARCHAR(3800)

La façon actuelle de faire est la suivante:

Récupérer toutes les lignes pour PARENT_ID = n. Ensuite, allez sur les lignes récupérées dans le code et concaténer les chaînes XML dans un grand XML avant l'analyse. La colonne SEQ est utilisée pour COMMANDER le résultat pour que les chaînes XML peuvent être concaténées correctement. Espérons que cela est clair.

Ce que nous essayons de faire est de retravailler ce que nous pouvons utiliser une variante SQL pour récupérer la chaîne entière et juste chercher une rangée de DB2. Y at-il une fonction DB2 qui nous permettra de concaténer la chaîne dans toutes ces lignes dans une grande chaîne dans l'ensemble de résultats. Comment un tel regard SQL. S'il vous plaît, faites-moi savoir. Toute aide est très appréciée.

Merci! - Azeem

Était-ce utile?

La solution

Vérifier les requêtes récursives dans DB2, comme mentionné ici

Autres conseils

Oui, il y a. Enfermez XMLELEMENT, XMLAGG et XMLSERIALIZE. Cela devrait faire l'affaire pour la plupart des gens. Un exemple, vous pouvez voir dans la question suivante sortie une requête SQL XML DB2 dans un fichier XML unique,

Modifier

Pourquoi ne pas faire quelque chose comme select '<tag1>', col1. '</tag1><tag2>', col2, '</tag2>' from table? Si vous avez besoin de combiner toutes les lignes dans un de lancer un post-traitement pour éliminer les sauts de ligne.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top