Tom*_*Tom 1 oracle plsql materialized-views ora-06550
我试图在物化视图上执行刷新,但我无法编译脚本.
CREATE OR REPLACE PROCEDURE REFRESH_MV AS
BEGIN
exec DBMS_MVIEW.REFRESH('my_mat_view_mv','C');
END REFRESH_MV;
Run Code Online (Sandbox Code Playgroud)
我收到消息:
ORA-06550:第3行第9列:PLS-00103:遇到以下其中一项时遇到符号"DBMS_MVIEW":
:=.(@%;立即用符号":="代替"DBMS_MVIEW"继续.
难道我做错了什么 ?需要进口什么?
CREATE OR REPLACE PROCEDURE REFRESH_MV AS
BEGIN
EXECUTE DBMS_MVIEW.REFRESH('my_mat_view_mv','C');
END REFRESH_MV;
Run Code Online (Sandbox Code Playgroud)
(S1917)期待:(; @
IMMEDIATE
CREATE OR REPLACE PROCEDURE REFRESH_MV AS
BEGIN
EXECUTE IMMEDIATE DBMS_MVIEW.REFRESH('my_mat_view_mv','C');
END REFRESH_MV;
Warning: compiled but with compilation errors
Run Code Online (Sandbox Code Playgroud)
这是一个Oracle 10g XE,希望没问题.
提前致谢 !
DCo*_*kie 11
我想如果你完全消除"exec"它可能会更好."exec"是一个SQL*Plus命令.我试试:
CREATE OR REPLACE PROCEDURE REFRESH_MV AS
BEGIN
DBMS_MVIEW.REFRESH('my_mat_view_mv','C');
END REFRESH_MV;
Run Code Online (Sandbox Code Playgroud)