Nous essayons de retravailler le SQL dans un produit. Le produit stocke XML dans un tableau comme suit:concaténation de chaînes à partir de deux lignes différentes dans une table
XML_STORAGE - UID IDENTITY - PARENT_ID INTEGER - SEQ INTEGER - XML VARCHAR(3800)
La façon actuelle de faire est la suivante:
pour récupérer toutes les lignes PARENT_ID = n. Ensuite, parcourez les lignes récupérées dans le code et concaténez les chaînes XML en un grand XML avant d'analyser. La colonne SEQ est utilisée pour ORDER le résultat afin que les chaînes XML puissent être concaténées correctement. J'espère que c'est clair. Ce que nous essayons de faire est de retravailler ceci afin que nous puissions utiliser une variante SQL pour récupérer la chaîne entière et récupérer simplement une ligne de DB2. Y at-il une fonction DB2 qui nous permettra de concaténer la chaîne de toutes ces lignes en une seule grande chaîne dans le jeu de résultats. À quoi ressemblerait un tel SQL? S'il vous plaît, faites-moi savoir. Toute aide est très appréciée.
Merci! - Azeem
Goran, merci pour l'info. Je vais vérifier ça maintenant. – Azeem
Goran, malheureusement, je ne peux pas utiliser des expressions de table communes ou des requêtes récursives en raison de l'exigence que nous supportons DB2 z.OS v8 CM (qui est en vigueur DB2 v7). Il ne semble pas que DB2 v7 prenne en charge la syntaxe des expressions de table commune. :( – Azeem
n'ont pas cette version pour le tester, mais v7 SQL référence ftp://ftp.software.ibm.com/ps/products/db2/info/vr7/pdf/letter/db2s0e70.pdf dit que vous pouvez exemple sur la page du pdf 1341 (ah, les numéros de page à 4 chiffres des manuels IBM :) :) – Unreason