Oracle 甲骨文。尝试使用上下文索引更新列

Oracle 甲骨文。尝试使用上下文索引更新列,oracle,oracle-text,Oracle,Oracle Text,我正在尝试使用上下文索引更新列 CREATE TABLE new_table(first_column NUMBER, text CLOB); INSERT INTO new_table VALUES(1,'Oracle'); INSERT INTO new_table VALUES(2,'Text'); COMMIT; CREATE INDEX idx_new_table_text ON new_table(text) INDEXTYPE IS CTXSYS.CONTEXT PARAMETER

我正在尝试使用上下文索引更新列

CREATE TABLE new_table(first_column NUMBER, text CLOB);
INSERT INTO new_table VALUES(1,'Oracle');
INSERT INTO new_table VALUES(2,'Text');
COMMIT;
CREATE INDEX idx_new_table_text ON new_table(text) INDEXTYPE IS CTXSYS.CONTEXT PARAMETERS ('SYNC ( ON COMMIT)');
使用“PARAMETERS('SYNC(ON-COMMIT)’”参数,我能够向表中添加数据。 但我仍然无法更新此列中的数据或删除此表中的行

UPDATE new_table SET text = 'new text' WHERE first_column = 3;
COMMIT;
А提交后,我看到错误: “提交失败”和 “ORA-00604:递归SQL级别1发生错误 ORA-06550:字符串1,第7列: PLS-00306:呼叫“SYNCRN”时土地的编号或类型错误
请告诉我,我应该怎么做才能使更新和删除开始工作?

您运行的是什么版本的Oracle?它是11.2.0.4版吗?如果是这样,这可能与Bug 17501296有关-提交回调过程ctxsys.syncrn与11.2.0.4 C-code不同步您的代码在版本12.2中对我有效。是的,我使用这个特定版本-“Oracle Database 11g Enterprise Edition 11.2.0.4.0-64位生产版”。如果我不能使用更高版本,我可以设法避免这个错误吗?我试图调用以下代码:begin ctx_ddl.sync_index('idx_new_table_text');结束;并收到以下错误消息:“错误报告-ORA-06550:String 2,第1列:PLS-00904:访问对象CTXSYS.CTX_DDL ORA-06550:String 2,第1列:PL/SQL:语句忽略06550.00000-”第%s行,第%s列:\n%s“*原因:通常是PL/SQL编译错误。*操作:“在引用我的DBA之后,我发现这个模块没有安装。我认为这正是错误的原因。我是对的?你在运行什么版本的Oracle?它是11.2.0.4版吗?如果是这样,这可能与Bug 17501296有关-提交回调过程ctxsys.syncrn与11.2.0.4 C-code不同步您的代码在版本12.2中对我有效。是的,我使用这个特定版本-“Oracle Database 11g Enterprise Edition 11.2.0.4.0-64位生产版”。如果我不能使用更高版本,我可以设法避免这个错误吗?我试图调用以下代码:begin ctx_ddl.sync_index('idx_new_table_text');结束;并收到以下错误消息:“错误报告-ORA-06550:String 2,第1列:PLS-00904:访问对象CTXSYS.CTX_DDL ORA-06550:String 2,第1列:PL/SQL:语句忽略06550.00000-”第%s行,第%s列:\n%s“*原因:通常是PL/SQL编译错误。*操作:“在引用我的DBA之后,我发现这个模块没有安装。我认为这正是错误的原因。我是对的?