ORACLE 全文检索时,更新后的字段却检索不到
前提:
1 该字段是CLOB类型
2 用的检索关键字是CONTAINS
SQL文如下
select * from tableA where CONTAINS (globle, ‘china‘);
*注:如果检索字段中含有包含‘-‘的数据时要在前加上‘\‘
select * from tableA where CONTAINS (globle, ‘china-beijing‘);
可在更新globle字段值后发现再也检索不到符合条件的记录了,即使改回去也不行。
后来发现原因是没有即使同步表索引导致的。
更新方法如下:
WHENEVER SQLERROR EXIT 28 select ‘aaa.xql‘ from dual; BEGIN CTX_DLL.SYNC_INDEX(‘TABLEA_OIDX‘, ‘500M‘, ‘CHI‘); ... ... END; / EXIT 0;