首页 > 数据库开发 > ORACLE 全文检索用CONTAINS关键字时CLOB字段更新后检索不到

ORACLE 全文检索用CONTAINS关键字时CLOB字段更新后检索不到

ORACLE 全文检索时,更新后的字段却检索不到

前提:

1 该字段是CLOB类型

2 用的检索关键字是CONTAINS

SQL文如下

[sql]
  1. select * from tableA
  2. where
  3. CONTAINS (globle, 'china');

*注:如果检索字段中含有包含'-'的数据时要在前加上'\'

[sql]
  1. select * from tableA
  2. where
  3. CONTAINS (globle, 'china-beijing');

可在更新globle字段值后发现再也检索不到符合条件的记录了,即使改回去也不行。

后来发现原因是没有即使同步表索引导致的。

更新方法如下:

[sql] 
  1. WHENEVER SQLERROR EXIT 28
  2. select 'aaa.xql' from dual;
  3. BEGIN
  4.   CTX_DLL.SYNC_INDEX('TABLEA_OIDX', '500M', 'CHI');
  5. ...
  6. ...
  7. END;
  8. /
  9. EXIT 0;

最主要语句已经标红。


本文固定链接: http://www.devba.com/index.php/archives/4628.html | 开发吧

报歉!评论已关闭.