Domanda

Stiamo cercando di rielaborare il codice SQL in un prodotto. Il prodotto memorizza XML in una tabella come segue:

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

Il modo attuale di fare questo è la seguente:

Recuperare tutte le righe per PARENT_ID = n. Poi andare oltre le righe inserite nel codice e concatenare le stringhe XML in un unico grande XML prima di parsing. La colonna SEQ viene utilizzato per ordinare il risultato in modo che le stringhe XML possono essere concatenati in modo corretto. Speriamo che sia chiaro.

Quello che stiamo cercando di fare è di rielaborare questo modo che possiamo utilizzare una variante di SQL per recuperare l'intera stringa e solo prendere una fila di ritorno da DB2. C'è una funzione DB2 che ci permetterà di concatenare la stringa in tutte queste righe in una stringa di grandi dimensioni nel set di risultati. Come farebbe un tale sguardo SQL. Per favore mi faccia sapere. Ogni aiuto è molto apprezzato.

Grazie! - Azeem

È stato utile?

Soluzione

Controlla query ricorsive in DB2, come accennato qui

Altri suggerimenti

Sì, c'è. Lock up XMLELEMENT, XMLAGG e XMLSERIALIZE. Questo dovrebbe fare il trucco per la maggior parte delle persone. Un esempio si può vedere nella seguente domanda Output una query XML DB2 SQL in un file XML unica

Modifica

Perché non fai qualcosa come select '<tag1>', col1. '</tag1><tag2>', col2, '</tag2>' from table? Se è necessario combinare tutte le righe in una sola di eseguire un post-elaborazione per rimuovere le interruzioni di riga.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top