其他过程中的异常而不退出该过程

exceptions in other procedure without exiting the procedure

我有一个 REFRESH FAST ON DEMAND 类型的实体化视图,我有一个存储过程来刷新几个实体化视图。如何在错误日志 table 中记录异常,但不停止记录错误行的过程,而是继续刷新以下物化视图 2。物化视图生成很多问题,例如处理 table 的加载错误?

谢谢。

create or replace procedure actualizar_vistaM 
is 
begin
DBMS_MVIEW.REFRESH('VIEW 1')

DBMS_MVIEW.REFRESH('VIEW 2')

exception
when others then
INSERT INTO errors VALUES (value1,value2,value3)

end;

我想您必须将每次刷新都包含在它自己的 begin-exception-end 块中。

create or replace procedure actualizar_vistaM 
is 
begin
  begin
    DBMS_MVIEW.REFRESH('VIEW 1');
  exception
    when others then
      insert into errors values (...);
  end;
  
  --
  
  begin
    DBMS_MVIEW.REFRESH('VIEW 2');
  exception
    when others then
      insert into errors values (...);
  end;
end;