我计划在凌晨3点左右进行三个插入过程。前两个相隔10分钟,而第三个相隔仅5分钟。第三个过程一直失败,我认为可能是因为第二个过程当时仍在运行。所有这三个过程都插入同一张表中。
避免作业相互冲突的最佳方法是创建一个单独的过程来依次调用实际插入吗?像这样:
CREATE OR REPLACE PROCEDURE DB.DATA_INSERT_ALL IS
BEGIN
EXECUTE DB.DATA_INSERT_1;
EXECUTE DB.DATA_INSERT_2;
EXECUTE DB.DATA_INSERT_3;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
WHEN OTHERS THEN
RAISE;
END DATA_INSERT_ALL;
/
我不确定的是:是否要像这样做才能在上一个步骤完成后才执行每个过程(这就是我想要的)?还是会尝试一次执行所有三个?
我正在Oracle Express 11g上执行此操作。