2014-01-05 8 views
5

varchar2型の2列の表があります。Oracleテキストcatsearch multiple in one述語

私は、クエリ

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. 

を得る2 indeces

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 
; 

を作成しています

$ 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 

にはどうすれば問題を解決することができますか?

おかげ

セルジオ

+0

最初の3行を簡単な英語に翻訳してください。 – Rachcha

答えて

0

は、バーバラ・ベーマーのコメントのために、このknown solutionを参照してください。それ以外の場合は、挿入された再生シナリオを指定してください。現在のSQLはTable1を参照していますが、DDLはDOCUMENTOです。

+0

hi @ user3162140これは問題を解決するのに役立ちましたか?あなたの質問に成功しなかったものを追加しないでください。 –