Pregunta

Estamos intentando volver a trabajar el SQL en un producto. El XML tiendas de productos en una tabla como la siguiente:

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

La actual forma de hacer esto es como sigue:

Recuperar todas las filas para PARENT_ID = n. A continuación, vaya a través de los filas captadas en el código y concatenar las cadenas XML en un gran XML antes de analizar. La columna de SEC se utiliza para ordenar el resultado por lo que las cadenas XML se pueden concatenar correctamente. Con suerte eso está claro.

Lo que estamos tratando de hacer es reelaborar este modo podemos utilizar una variante de SQL para recuperar toda la cadena y apenas ha podido recuperar una fila de atrás de DB2. ¿Hay una función de DB2 que nos permitirá concatenar la cadena en todas estas filas en una gran cadena en el conjunto de resultados. ¿Cómo sería una mirada tan SQL. Por favor hagamelo saber. Cualquier ayuda es muy apreciada.

Gracias! - Azeem

¿Fue útil?

Solución

Comprobar consultas recursivas en DB2, como se mencionó aquí

Otros consejos

Sí hay. Encerrar a XMLELEMENT, XMLAGG y XMLSERIALIZE. Eso debería hacer el truco para la mayoría de la gente. Un ejemplo se puede ver en la siguiente pregunta salida de una consulta SQL de DB2 XML en un archivo XML única

Editar

¿Por qué no haces algo como select '<tag1>', col1. '</tag1><tag2>', col2, '</tag2>' from table? Si es necesario combinar todas las filas en una de ejecutar un post-procesamiento para eliminar los saltos de línea.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top