我对XMLTABLE还是很陌生,这可能是一个非常愚蠢的问题。
对于以下查询:
Select T1.*
From XmlTable ('$d/Order/OrderHeader'
Passing '
<Order>
<OrderHeader>
<OrderId>a</OrderId>
</OrderHeader>
</Order>' As "d"
Columns
OrderId Char(7) Path 'OrderId'
) as T1;
我遇到
错误SQL状态:10507供应商代码:-16011消息:[SQ16011]的结果 XPath表达式中的中间步骤表达式包含一个 原子值
我不确定这是为什么。谁能指导我怎么了,那太好了
答案 0 :(得分:0)
尝试显式解析XML,而不是传递字符串值:
SELECT T1.*
FROM XMLTABLE (
'$d/Order/OrderHeader'
PASSING XMLPARSE (DOCUMENT '
<Order>
<OrderHeader>
<OrderId>a</OrderId>
</OrderHeader>
</Order>') AS "d"
COLUMNS
OrderId CHAR(7) PATH 'OrderId'
) AS T1;