Oracle 标识符';提取值';必须声明编译失败

Oracle 标识符';提取值';必须声明编译失败,oracle,plsql,oracle11g,oracle-apex,plsqldeveloper,Oracle,Plsql,Oracle11g,Oracle Apex,Plsqldeveloper,我尝试将xml数据检索到变量,但出现错误,提示“标识符'EXTRACTVALUE'必须声明编译失败” 这是保存xml节点 <Item> <LocationId>0</LocationId> <Id>0</Id> <ItemId>0</ItemId> <ItemCode>SC12</ItemCode> <ItemDescription>SCDITEM</ItemDesc

我尝试将xml数据检索到变量,但出现错误,提示“标识符'EXTRACTVALUE'必须声明编译失败”

这是保存xml节点

 <Item>
<LocationId>0</LocationId>
<Id>0</Id>
 <ItemId>0</ItemId>
<ItemCode>SC12</ItemCode>
<ItemDescription>SCDITEM</ItemDescription>

<ItemUomLevelsList>
  <ItemUomLevels>
    <UomLevelId>1</UomLevelId>
    <UomId>9</UomId>
    <UomLongName>LG</UomLongName>
    <ConversionFactor>-53</ConversionFactor>
    <UomLevelStatus>1</UomLevelStatus>
    <UomLevelSystemUsageTypeId>2</UomLevelSystemUsageTypeId>
    <UomLevelImage>0</UomLevelImage>
    <UomLevelControlsList>
      <UomLevelControls>
        <ControlId>2</ControlId>
      </UomLevelControls>
    </UomLevelControlsList>
    <UomDimensionsList>
      <UomDimensions>
        <DimensionId>14</DimensionId>
        <DimensionValue>12</DimensionValue>
      </UomDimensions>
      <UomDimensions>
        <DimensionId>12</DimensionId>
        <DimensionValue>13</DimensionValue>
      </UomDimensions>
    </UomDimensionsList>
  </ItemUomLevels>
</ItemUomLevelsList>
从对偶转化为事实


在我得到这个答案后,我使用了它作为我的包没有错误,但是当我尝试插入上面的xml时,我得到了前面提到的错误(上面)

ExtractValue不是PLSQL函数,我认为它只能作为SQL语句的一部分使用

您可以选择:

select to_number(ExtractValue(PXML, '/OBJECT/Item/ItemUomLevelsList/ItemUomLevels/ConversionFactor')) 
INTO VarConverstionFact FROM DUAL;


编辑:我假设PXML是一个XMLTYPE,ExtractValue不是一个PLSQL函数,我认为它只能作为SQL语句的一部分使用

您可以选择:

select to_number(ExtractValue(PXML, '/OBJECT/Item/ItemUomLevelsList/ItemUomLevels/ConversionFactor')) 
INTO VarConverstionFact FROM DUAL;


编辑:我假设PXML是一个XMLTYPE,ExtractValue不是一个PLSQL函数,我认为它只能作为SQL语句的一部分使用

您可以选择:

select to_number(ExtractValue(PXML, '/OBJECT/Item/ItemUomLevelsList/ItemUomLevels/ConversionFactor')) 
INTO VarConverstionFact FROM DUAL;


编辑:我假设PXML是一个XMLTYPE,ExtractValue不是一个PLSQL函数,我认为它只能作为SQL语句的一部分使用

您可以选择:

select to_number(ExtractValue(PXML, '/OBJECT/Item/ItemUomLevelsList/ItemUomLevels/ConversionFactor')) 
INTO VarConverstionFact FROM DUAL;


编辑:我假设PXML是一个XMLTYPE

{“ORA-01722:invalid number\nORA-06512:at\“SYS.XMLTYPE\”,第181行\nORA-06512:at\“BIZZXE\u V2\u SCH.ITEM\”,第165行\nORA-06512:at line 1“}我在使用该代码时遇到了这个错误。您是否正试图提取一个明确的数字?该异常表明您试图存储为数字的值实际上不是数字。空格或其他字符可能会导致问题。能否粘贴要提取的xml节点?这个错误几乎只有在你试图将非数字的东西转换成数字时才会出现。可能值得尝试将该值放入varchar2变量中,以便查看返回的内容。编辑:顺便问一下,您使用了上述两种方法中的哪种方法?是的,我确实使用了,但是当我尝试插入数据时,我得到了上述错误,我确实使用xml节点编辑了我的问题。您尝试使用您提供的xpath('/OBJECT/Item/itemUmlevelsList/itemUmlevels/ConversionFactor')提取“ConversionFactor”节点。在xml中,ConversionFactor节点是“CD”,这不是一个有效的数字。{“ORA-01722:无效数字\nORA-06512:在\“SYS.XMLTYPE\”,第181行\nORA-06512:在\“BIZZXE_V2_SCH.ITEM\”,第165行\nORA-06512:在第1行}我在使用该代码时遇到了这个错误。您试图提取的值是否确实是一个数字?该异常表明您试图存储为数字的值实际上不是数字。空格或其他字符可能会导致问题。能否粘贴要提取的xml节点?这个错误几乎只有在你试图将非数字的东西转换成数字时才会出现。可能值得尝试将该值放入varchar2变量中,以便查看返回的内容。编辑:顺便问一下,您使用了上述两种方法中的哪种方法?是的,我确实使用了,但是当我尝试插入数据时,我得到了上述错误,我确实使用xml节点编辑了我的问题。您尝试使用您提供的xpath('/OBJECT/Item/itemUmlevelsList/itemUmlevels/ConversionFactor')提取“ConversionFactor”节点。在xml中,ConversionFactor节点是“CD”,这不是一个有效的数字。{“ORA-01722:无效数字\nORA-06512:在\“SYS.XMLTYPE\”,第181行\nORA-06512:在\“BIZZXE_V2_SCH.ITEM\”,第165行\nORA-06512:在第1行}我在使用该代码时遇到了这个错误。您试图提取的值是否确实是一个数字?该异常表明您试图存储为数字的值实际上不是数字。空格或其他字符可能会导致问题。能否粘贴要提取的xml节点?这个错误几乎只有在你试图将非数字的东西转换成数字时才会出现。可能值得尝试将该值放入varchar2变量中,以便查看返回的内容。编辑:顺便问一下,您使用了上述两种方法中的哪种方法?是的,我确实使用了,但是当我尝试插入数据时,我得到了上述错误,我确实使用xml节点编辑了我的问题。您尝试使用您提供的xpath('/OBJECT/Item/itemUmlevelsList/itemUmlevels/ConversionFactor')提取“ConversionFactor”节点。在xml中,ConversionFactor节点是“CD”,这不是一个有效的数字。{“ORA-01722:无效数字\nORA-06512:在\“SYS.XMLTYPE\”,第181行\nORA-06512:在\“BIZZXE_V2_SCH.ITEM\”,第165行\nORA-06512:在第1行}我在使用该代码时遇到了这个错误。您试图提取的值是否确实是一个数字?该异常表明您试图存储为数字的值实际上不是数字。空格或其他字符可能会导致问题。能否粘贴要提取的xml节点?这个错误几乎只有在你试图将非数字的东西转换成数字时才会出现。可能值得尝试将该值放入varchar2变量中,以便查看返回的内容。编辑:顺便问一下,您使用了上述两种方法中的哪种方法?是的,我确实使用了,但是当我尝试插入数据时,我得到了上述错误,我确实使用xml节点编辑了我的问题。您尝试使用您提供的xpath('/OBJECT/Item/itemUmlevelsList/itemUmlevels/ConversionFactor')提取“ConversionFactor”节点。在xml中,ConversionFactor节点是“CD”,这不是一个有效的数字。