У меня этот XML.Чтение элементов XML-элементов с использованием PL SQL
<a>
<b>b1</b>
<c>c1</c>
<b>b2</b>
<c>c2</c2>
</a>
Я хочу, чтобы иметь возможность извлекать значения элементов «b» и «c» с помощью PL \ SQL. Я использую Oracle 10g.
До сих пор у меня есть это,
SELECT XML.b
, XML.c
FROM XMLTable (
'/a' PASSING p_xml
COLUMNS
b VARCHAR(2) PATH 'b/.'
, c VARCHAR(2) PATH 'c/.'
) XML
Но я получаю эту ошибку:
19279. 00000 - "XQuery dynamic type mismatch: expected singleton sequence - got multi-item sequence"
*Cause: The XQuery sequence passed in had more than one item.
*Action: Correct the XQuery expression to return a single item sequence.
Затем я попытался это:
SELECT XML.b
, XML1.c
FROM XMLTable (
'/a/b' PASSING p_xml
COLUMNS
b VARCHAR(2) PATH '.'
) XML,
XMLTable (
'/a/c' PASSING p_xml
COLUMNS
c VARCHAR(2) PATH '.'
) XML1
Но результаты были:
b1,c1
b1,c2
b2,c1
b2,c2
Когда я хочу только: b1 c1 b2 c2
Можете ли вы, ребята, мне помочь?