我有一个简单的查询:
WITH xtbl AS (
SELECT XMLTYPE ('<a><b>1</b></a>') AS xcol
FROM DUAL
)
SELECT XMLQUERY ('copy $tmp := .
modify
insert node <c>2</c>
into $tmp/a/b
return $tmp'
PASSING xcol
RETURNING CONTENT) AS newxcol
FROM xtbl;
我要做的是在节点内部插入一个节点<c>
,但 Oracle 12c 抛出此错误:<b>
<a>
ORA-19114: XPST0003 - error during parsing the XQuery expression:
LPX-00801: XQuery syntax error at 'EOF'
5 -
- ^
我希望输出为:
NEWXCOL
-------------
<a>
<b>1</b>
<c>2</c/>
</a>
我曾尝试在Oracle Docs中查找替换appendChildXML
并遵循该示例,但只得到了错误。
我知道这是非常基本的,我错过了一些明显的东西。请帮忙。