如何解决查询以重建域索引
Create or replace procedure REBUILD_X_TEXT
IS
Begin
EXECUTE IMMEDIATE 'ALTER INDEX Schema.table_name rebuild parameters('REPLACE Metadata sync(every "SYSDATE+15/1440")')';
EXECUTE IMMEDIATE 'ALTER INDEX Schema.table_name noparaLLEL';
End REBUILD_X_TEXT;
正出现错误::pls-00103:在预期以下情况之一时遇到符号“ REPLACE”:*&=-+; />在in是mod余数而不是rem返回 或!=或〜=> = 或like2 like4 likec之间使用||多集批量成员子多集
解决方法
如果您的EXECUTE IMMEDIATE
语句中有单引号,则需要通过在一行中使用两个单引号来转义它们,如下所示:
CREATE OR REPLACE PROCEDURE REBUILD_X_TEXT
IS
BEGIN
EXECUTE IMMEDIATE 'ALTER INDEX Schema.table_name rebuild parameters(''REPLACE metadata sync(every "SYSDATE+15/1440")'')';
EXECUTE IMMEDIATE 'ALTER INDEX Schema.table_name NOPARALLEL';
END REBUILD_X_TEXT;
,
有时候使用q-literals更容易:
EXECUTE IMMEDIATE q'[
ALTER INDEX Schema.table_name
rebuild parameters('REPLACE metadata
sync(every "SYSDATE+15/1440")
'
)
]';
EXECUTE IMMEDIATE 'ALTER INDEX Schema.table_name NOPARALLEL';
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。