oracle定时任务只执行一次,pl/sql右键执行时显示任务1%正在运行

![图片说明](https://img-ask.csdn.net/upload/201710/24/1508835663_637595.png)图片说明

参考GPT和自己的思路:

针对你的问题,我可以提供如下的解决方案:

首先,在你的问题中提到:"oracle定时任务只执行一次",我认为这是最可行的解决方案。可以修改oracle定时任务的类型,将其从周期性执行改为只执行一次的类型。这样,任务只会在一次性地执行后就结束,不会再造成其他的运行状况。你可以通过执行以下代码来完成这个操作:

BEGIN
DBMS_SCHEDULER.CREATE_JOB (
job_name        => 'job_name',
job_type        => 'PLSQL_BLOCK',
job_action      => 'BEGIN YOUR_JOB(); END;',
start_date      => SYSDATE,
repeat_interval => NULL,
end_date        => NULL,
enabled         => TRUE,
auto_drop       => FALSE,
comments        => 'This is my one-time job.'
);
END;
/

其次,在你的问题中也提到:"pl/sql右键执行时显示任务1%正在运行的问题",我认为这种情况可能是由于任务的执行时间比较长而导致的。对于这种情况,可以对任务的执行时间进行优化,或者考虑将任务分成多个步骤逐步完成,这样就可以避免任务阻塞的问题。