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