我有一个包含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,0, "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,0, "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
我该如何解决这个问题?
谢谢
塞尔吉奥