暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle XMLQuery ORA-19114: XPST0003-解析XQuery表达式时出错:

askTom 2017-09-19
1036

问题描述

我正在从工作簿中做例子。我创建了表格并插入了几条记录。下面是我的代码:

创建表:

CREATE TABLE test_Pracownicy
(IDPracownika NUMBER(3),
Dane XMLTYPE);
Insert record to the table:

INSERT INTO test_Pracownicy (IDPracownika, Dane)
VALUES (1,
  XMLTYPE('
    
      Kowalski
      Jan
      1980
      1.77
      2001/02/10
    ')
);

现在我想运行XMLQuery:

SELECT IDPracownika,
  XMLQuery(
    'FOR $i IN /PRecord
      WHERE $i /Nazwisko = "Kowalski"
      ORDER BY $i/Imie
      RETURN $i'
    PASSING by VALUE Dane
    RETURNING CONTENT) NazwiskoXML
FROM test_Pracownicy;

我得到了错误:

ORA-19114: XPST0003-解析XQuery表达式时出错:
LPX-00801: XQuery语法错误在 'i'
1美元/记录
-^
19114. 00000-“解析XQuery表达式时出错: % s”
* 原因: 在XQuery表达式的解析过程中发生错误。
* 操作: 检查详细的错误消息以了解可能的原因。

专家解答

XQuery表达式区分大小写,使用小写关键字:

CREATE TABLE test_Pracownicy
(IDPracownika NUMBER(3),
Dane XMLTYPE);

INSERT INTO test_Pracownicy (IDPracownika, Dane)
VALUES (1,
  XMLTYPE('
      Kowalski
      Jan
      1980
      1.77
      2001/02/10
    ')
);

set long 10000

SELECT IDPracownika,
  XMLQuery(
    'FOR $i IN /PRecord
      WHERE $i /Nazwisko = "Kowalski"
      ORDER BY $i/Imie
      RETURN $i'
    PASSING by VALUE Dane
    RETURNING CONTENT) NazwiskoXML
FROM test_Pracownicy;

SQL Error: ORA-19114: XPST0003 - error during parsing the XQuery expression: 
LPX-00801: XQuery syntax error at 'i'
1   FOR $i IN /PRecord

SELECT IDPracownika,
  XMLQuery(
    'for $i in /PRecord
      where $i /Nazwisko = "Kowalski"
      order by $i/Imie
      return $i'
    PASSING by VALUE Dane
    RETURNING CONTENT) NazwiskoXML
FROM test_Pracownicy;

IDPRACOWNIKA NAZWISKOXML                                                                     
------------ --------------------------------------------------------------------------------
           1                                                                        
               Kowalski                                                 
               Jan                                                              
               1980                                                     
               1.77                                                         
               2001/02/10                                               
              

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论