XMLTABLE存在原子值问题

时间:2018-10-15 12:12:26

标签: xml ibm-midrange

我对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表达式中的中间步骤表达式包含一个   原子值

我不确定这是为什么。谁能指导我怎么了,那太好了

1 个答案:

答案 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;