2017-09-18 2 views
0

J'ai l'index ctxsys.context sur une colonne. Quand j'exécute ci-dessous la requête je donne l'erreur DRG-10599: column is not indexed. Je vérifie l'index et le mets à jour.La colonne Oracle ctxsys.context DRG-10599 n'est pas indexée

Requête:

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

Index ddl:

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

Répondre

0

Vous avez une faute de frappe dans l'index DDL, donc il ne devrait pas avoir travaillé. La colonne ('FLD_SEARCH') est en guillemets simples, ce qui en fait un VARCHAR au lieu d'un identifiant. Il serait probablement plus facile de repérer des erreurs comme celle-ci si vous n'utilisez pas autant de guillemets. :)

Cela fonctionne très bien pour moi.

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;