Oracle 标识符';提取值';必须声明编译失败
我尝试将xml数据检索到变量,但出现错误,提示“标识符'EXTRACTVALUE'必须声明编译失败” 这是保存xml节点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
<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”,这不是一个有效的数字。