XMLTABLE具有原子值问题

问题描述 投票:1回答:1

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

我不确定这是为什么。如果有人可以指导我哪里出了问题,那就太好了

xml ibm-midrange
1个回答
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;
© www.soinside.com 2019 - 2024. All rights reserved.