【问题标题】:Oracle xmltable ORA-19224: XPTY0004 - XQuery static type mismatch: expected - node()* got - xs:stringOracle xmltable ORA-19224:XPTY0004 - XQuery 静态类型不匹配:预期 - node()* got - xs:string
【发布时间】:2018-02-27 04:13:03
【问题描述】:

我有一个包含 XML 数据的表。不能使用真实姓名。

<properties>
<property>
    <string>KEY1</string>
    <string>A</string>
</property>
<property>
    <string>KEY2</string>
    <string>B</string>
</property>
<property>
    <string>KEY3</string>
    <string>C</string>
</property>
<property>
    <string>KEY4</string>
    <string>D</string>
</property><properties>

表 - TESTDATA 列 - 数据

我正在尝试以下 sql:

select xt.*
from TESTDATA,
xmltable('/properties/property'
passing DATA
columns KEY varchar2(100) PATH 'string[1]',
VALUE varchar2(100) PATH 'string[2]'
) xt
;

我收到以下错误:

ORA-19224:XPTY0004 - XQuery 静态类型不匹配:预期 - node()* got - xs:string 19224. 00000 - “XPTY0004 - XQuery 静态类型不匹配:预期 - %s 得到 - %s” *原因:无法使用该表达式,因为它的静态类型不适合使用它的上下文。 *操作:将表达式修复为所需类型或在表达式周围添加适当的转换函数。

请帮忙。

【问题讨论】:

    标签: oracle


    【解决方案1】:

    我发现了问题。该列是 CLOB。我需要在 SQL 中将其转换为 XMLTYPE - XMLTYPE(DATA)。

    谢谢

    【讨论】:

      猜你喜欢
      • 2015-09-04
      • 2017-07-12
      • 1970-01-01
      • 2016-08-23
      • 2021-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多