0

db1 上有两个 db,表 test_table 具有字段 a 的上下文索引。询问:

select *
  from test_table t
 where contains(t.a, 'str') > 0 

它在 db1 上运行良好。但是当我尝试通过其他数据库的 dblink 执行相同的查询时:

select *
  from test_table@db1 t
 where contains(t.a, 'str') > 0  

我收到此错误:

ora-20000:Oracle 文本错误:DRG-10599:列未编制索引

4

1 回答 1

0

您必须将 dblink 添加到功能。 https://docs.oracle.com/cd/E11882_01/text.112/e24436/csql.htm#CCREF0104

CONTAINS 运算符还支持数据库链接。您可以通过将@dblink 附加到其名称的末尾来识别远程表或物化视图。dblink 必须是指向包含远程表或物化视图的数据库的数据库链接的完整名称或部分名称。(不支持查询远程视图。)

select *
  from test_table@db1 t
 where contains(t.a, 'str')@db1 > 0.
于 2017-07-27T06:49:54.587 回答