Plsql 在Oracle中解析xml时获取无效数据类型错误

Plsql 在Oracle中解析xml时获取无效数据类型错误,plsql,oracle11g,Plsql,Oracle11g,我正在尝试用PL SQL解析XML。但是得到下面的错误 Error report: ORA-06550: line 21, column 43: PL/SQL: ORA-00902: invalid datatype ORA-06550: line 17, column 1: PL/SQL: SQL Statement ignored 06550. 00000 - "line %s, column %s:\n%s" *Cause: Usually a PL/SQL compilation

我正在尝试用PL SQL解析XML。但是得到下面的错误

Error report:
ORA-06550: line 21, column 43:
PL/SQL: ORA-00902: invalid datatype
ORA-06550: line 17, column 1:
PL/SQL: SQL Statement ignored
06550. 00000 -  "line %s, column %s:\n%s"
*Cause:    Usually a PL/SQL compilation error.
*Action:
我正在尝试运行下面的查询

DECLARE
l_xml xmltype:= xmltype('<Table>
   <Data>
      <DataKey>Test</DataKey>
      <DataTypeID>8</DataTypeID>
      <DataValue>test1</DataValue>
      <Id>eb96c9c1-6236-403d-9afa-6d45ec623dbc</Id>
   </Data>
</Table>');
begin

select * FROM 
xmltable ('/Table/Data' passing l_xml
         columns
          DataKey nvarchar2(50) path '/Data/DataKey'
          ,DataTypeID int, path '/Data/DataTypeID'       
         , DataValue nvarchar2(1024) path '/Data/DataValue');

end;
/
声明
l_xml xmltype:=xmltype('
试验
8.
测试1
eb96c9c1-6236-403d-9afa-6d45ec623dbc
');
开始
从中选择*
xmltable(“/Table/Data”传递l_xml
柱
DataKey nvarchar2(50)路径“/Data/DataKey”
,DataTypeID int,路径'/Data/DataTypeID'
,DataValue nvarhar2(1024)路径'/Data/DataValue');
结束;
/
我是PL/SQL新手,因此无法找出错误。有人能帮我吗?
谢谢

int
path
之间有一个额外的逗号:

      ,DataTypeID int, path '/Data/DataTypeID'       
应该是

      ,DataTypeID int path '/Data/DataTypeID'       
或者您可以使用
number
而不是
int


您的
select
也必须选择某个内容,因为这是在PL/SQL上下文中进行的。现在您将得到一个PLS-00428错误。在不知道您打算对结果做什么的情况下,您应该如何纠正这一点并不完全清楚—无论您实际上是否不需要PL/SQL,或者您是否希望对结果进行循环以对其进行处理,或者插入到另一个表中,或者……

实际上这是更大查询的一部分。我试图找到错误。感谢lotOK,然后忽略该部分,+1用于隔离问题并仅显示查询的相关部分*8-)