2017-09-18 117 views
0

1つの列にctxsys.context索引があります。私が質問を実行するとき、私はDRG-10599: column is not indexedエラーを出します。インデックスを確認して更新します。Oracle ctxsys.context DRG-10599列は索引付けされていません

問合せ:

SELECT s.dsa_id FROM service_search s 
    WHERE CONTAINS(s.fld_search, 'someData') >0 

インデックスDDL:

CREATE INDEX "ARCHIVE_SER"."IDX_SEARCH_CTX" ON 
    "ARCHIVE_SER"."service_search" ('FLD_SEARCH') 
    INDEXTYPE IS "CTXSYS"."CONTEXT" PARAMETERS ('SYNC (ON COMMIT)') 

答えて

0

はあなたのインデックスDDLのタイプミスを持っているので、それが働いているべきではありません。 ('FLD_SEARCH')列は一重引用符で囲まれているため、識別子ではなくVARCHARになります。おそらく、二重引用符をあまり使わないと、このようなエラーを見つけやすくなります。 :)

これはうまく動作します。

create table service_search (fld_search varchar2(4000)); 

CREATE INDEX IDX_SEARCH_CTX ON service_search (FLD_SEARCH) 
    INDEXTYPE IS CTXSYS.CONTEXT PARAMETERS ('SYNC (ON COMMIT)'); 

select * from service_search s where contains(s.fld_search, 'someData') > 0; 
関連する問題