写法有点问题
SELECT COUNT(*), MAX(JOB) INTO V_JOBNUM, V_JOB FROM USER_JOBS WHERE UPPER(WHAT)='P_REFORM_TABLE;';
if v_jobnum>0 then
dbms_job.remove(v_job);
end if;
SELECT COUNT(*), MAX(JOB) INTO V_JOBNUM, V_JOB FROM USER_JOBS WHERE UPPER(WHAT)='ES_DBA.P_ALL_JOBS;';
if v_jobnum>0 then
dbms_job.remove(v_job);
end if;
这种写法会把自己本身这个JOB也删除掉,是不是应该把自身排除掉?
declare
v_jobnum number;
v_job number;
begin
SELECT COUNT(*), MAX(JOB) INTO V_JOBNUM, V_JOB FROM USER_JOBS WHERE UPPER(WHAT)='P_REFORM_TABLE;';
if v_jobnum>0 then
dbms_job.remove(v_job);
end if;
SELECT COUNT(*), MAX(JOB) INTO V_JOBNUM, V_JOB FROM USER_JOBS WHERE UPPER(WHAT)='ES_DBA.P_ALL_JOBS;';
if v_jobnum>0 then
dbms_job.remove(v_job);
end if;
declare
v_jobnum number;
v_job number;
begin
SELECT COUNT(*), MAX(JOB) INTO V_JOBNUM, V_JOB FROM USER_JOBS WHERE UPPER(WHAT)='P_REFORM_TABLE;';
if v_jobnum>0 then
dbms_job.remove(v_job);
end if;
SELECT COUNT(*), MAX(JOB) INTO V_JOBNUM, V_JOB FROM USER_JOBS WHERE UPPER(WHAT)='ES_DBA.P_ALL_JOBS;';
if v_jobnum>0 then
dbms_job.remove(v_job);
end if;