【发布时间】:2019-12-19 11:37:16
【问题描述】:
我试图更新一个 CLOB 列,但由于该列未编入索引错误而失败。
我尝试删除并重新创建索引,但仍然遇到相同的错误:
create index idx_response_contxt on test (response) indextype is ctxsys.context;
declare
begin
for i in (select response from test
where contains(response,'{"IdType">BANK}') > 0 for update) loop
dbms_lob.write(i.response, 12, 5444, '111111111111');
end loop;
end;
/
第 1 行出现错误:
ORA-20000:Oracle 文本错误:
DRG-10599:列未编入索引
ORA-06512:在第 4 行
似乎“for update”禁用了索引。如果我在没有包含函数的情况下运行,我没有收到任何错误,但代价非常高:
declare
begin
for i in (select response from test where response like '%"IdType">BANK%' for update) loop
dbms_lob.write(i.response, 12, 5444, '111111111');
end loop;
end;
/
有什么建议吗?谢谢!
【问题讨论】:
标签: oracle