DB2 XML Выбор нескольких строк в одиночных операторах - PullRequest
0 голосов
/ 04 ноября 2019

В Моем коде

SELECT X.DEP_ID
              FROM (SELECT XMLPARSE (DOCUMENT '<root><DEP_ID>1000000004</DEP_ID><DEP_ID>1000000005</DEP_ID></root>') AS ELEMENT_VALUE
                    FROM SYSIBM.SYSDUMMY1) AS A,
                   XMLTABLE (
                      '$d/root'
                      PASSING Element_value AS "d"
                      COLUMNS 
                      DEP_ID  VARCHAR (10)  PATH 'DEP_ID'
                                 ) AS X;

Требуется как результат:

DEP_ID

1000000004
1000000005

Если его отдельные значения означают, что он работает, это означает только один DEP_ID в xml. Но множественный возврат означает, что он покажет ошибку.

Как получить вывод, как указано выше в db2.

1 Ответ

0 голосов
/ 04 ноября 2019

Неправильно row-xquery-expression-constant.
Попробуйте это:

SELECT X.DEP_ID
FROM 
(
SELECT XMLPARSE (DOCUMENT '<root><DEP_ID>1000000004</DEP_ID><DEP_ID>1000000005</DEP_ID></root>') AS ELEMENT_VALUE
FROM SYSIBM.SYSDUMMY1
) AS A
, XMLTABLE 
(
'$d/root/DEP_ID' PASSING Element_value AS "d"
COLUMNS 
DEP_ID  VARCHAR (10)  PATH '.'
) AS X;
...