Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Oracle中创建索引时出现的问题_Oracle - Fatal编程技术网

在Oracle中创建索引时出现的问题

在Oracle中创建索引时出现的问题,oracle,Oracle,我正在尝试在Oracle中的QueueData表和XYZ字段(XMLTYPE列文本的节点之一)上创建索引 我的问题是: CREATE INDEX IX_QUEUE_XYZ ON QUEUEDATA (extractValue(TEXT, '//XYZ')) TABLESPACE "PSAPD" 但它给了我以下错误: ORA-19025: EXTRACTVALUE returns value of only one node 我不明白这里怎么了。有人能解释一下吗?extractValue的第

我正在尝试在Oracle中的QueueData表和XYZ字段(XMLTYPE列文本的节点之一)上创建索引

我的问题是:

CREATE INDEX IX_QUEUE_XYZ ON QUEUEDATA (extractValue(TEXT, '//XYZ')) TABLESPACE "PSAPD" 
但它给了我以下错误:

ORA-19025: EXTRACTVALUE returns value of only one node

我不明白这里怎么了。有人能解释一下吗?

extractValue的第二个参数指向多个节点,它应该只返回一个节点,因此如果您有多个标记“XYZ”,那么如果您使用XYZ[1],它将返回所有标记,只返回第一个标记

见:

是的,有多个XYZ。那么,我如何才能在所有这些索引上创建索引呢?与其使用基于函数的索引,不如使用xmlindex(特别是在v11中):在QUEUEDATA(文本)INDEXTYPE为XDB.xmlindex上创建索引IX_QUEUE_XYZ;当我尝试以下查询时:在QUEUEDATA(文本)上创建索引IX_QUEUE_XYZ INDEXTYPE为XDB.XMLIndex,它说:ORA-29833:indextype不存在检查DBA_indextype中是否存在,列所有者将告诉您使用哪个用户代替XDB,如果根本不存在,您可能需要检查安装。