CREATE INDEX
, sinó que cal especificar un munt de preferències (l'idioma, els caràcters separadors de paraula, etcètera).El més habitual és que l'administrador (o el desenvolupador) guardi les sentències de creació dels índexs de Text, però si no és així sempre ho pots deduir tirant de les vistes que comencen amb
CTX
.El cas és que l'altre dia vaig trobar que a les noves versions d'Oracle Text ja tenen un mecanisme per obtenir la DDL (data definition language, les sentències de creació) dels índexs. I va molt bé! El nom de les preferències se les inventa, i si tens més d'un índex que vols que reaprofiti les preferències has d'adaptar els scripts que genera, però treu molta feina.
Ara n'hi ha prou amb fer servir
CTX_REPORT.CREATE_INDEX_SCRIPT(index_name)
i et treu totes les sentències com un CLOB.Això existeix, com a mínim, des de la versió 9.2 d'Oracle, però jo havia estat una mica allunyat.
Tens una versió del
CREATE_INDEX_SCRIPT
com a funció i una altra com a procediment i si vols obtenir els scripts de tots els teus índexs textuals pots fer:
SELECT index_name, ityp_name, table_name, CTX_REPORT.CREATE_INDEX_SCRIPT(index_name)
FROM user_indexes
WHERE index_type='DOMAIN'
AND ityp_owner='CTXSYS'
No comments:
Post a Comment