Oracle文本catsearch多个在一个谓词中

前端之家收集整理的这篇文章主要介绍了Oracle文本catsearch多个在一个谓词中前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个包含2列varchar2类型的表.

我创造了2个空格

CREATE INDEX DOC_IDX_1 
ON DOCUMENTO 
( column1
) 
INDEX TYPE IS CTXSYS.CTXCAT
; 
CREATE INDEX DOC_IDX_2 
ON DOCUMENTO
( column2
) 
INDEX TYPE IS CTXSYS.CTXCAT
;

当我执行查询

select * 
from   table1 
where  CATSEARCH(column1,'AAA',NULL) > 0
AND    CATSEARCH(column2,'BBBb',NULL) > 0

我收到以下错误

ORA-20000: Oracle Text error:
DRG-10849: catsearch non supporta il richiamo funzionale
DRG-10599: la colonna non è indicizzata
20000. 00000 -  "%s"
*Cause:    The stored procedure 'raise_application_error'
       was called which causes this error to be generated.
*Action:   Correct the problem as described in the error message or contact
       the application administrator or DBA for more information.

英文翻译是:

$oerr drg 10849
10849,"catsearch does not support functional invocation"
// *Cause: the query plan for your query is invoking a catsearch operator
//         functionally rather than as an index rowsource.  The catsearch
//         operator does not support functional invocation
// *Action: add optimizer hints so that all catsearch operators are
//          performed through index scans
// *Mnemonic: QE_CATSEARCH_FUNCINV
//

10599,"column is not indexed"
// *Cause: The column specified is not indexed.
// *Action: Create index on the column before performing this operation
// *Mnemonic: DL_COLUMN_NOT_INDEXED

我该如何解决这个问题?

谢谢

塞尔吉奥

解决方法

有关BarbaraBöhmer的评论,请参阅此 known solution.否则,请指定带插入的复制方案;例如,您当前的sql引用Table1,但DDL代表DOCUMENTO.

猜你在找的Oracle相关文章