我想构建一个存储过程:1.截断表A 2.截断表B 3.在表A中插入(大量)行4.在表B中插入(大量)行
存储过程应仅在步骤4之后提交语句,以便表不会被锁定并且不会遇到停机时间.如果发生错误(例如,在步骤4中),则必须回滚所有更改.我自己尝试写这篇文章,但是在每次发言之后都做了.
create or replace PROCEDURE upall as
BEGIN
execute immediate 'truncate table MAIN.SET';
insert into MAIN.SET select * from MAIN.SET_STAG;
execute immediate 'truncate table MAIN.TYPE';
insert into MAIN.TYPE select * from MAIN.TYPE_STAG;
COMMIT;
EXCEPTION WHEN OTHERS THEN
ROLLBACK;
RAISE;
END;
Run Code Online (Sandbox Code Playgroud)