我只是 Oracle 的初学者,似乎无法完成这项工作:-
我想从我的数据库中删除旧行。并创建了如下工作:-
CREATE OR REPLACE PROCEDURE delete_trips
AS
BEGIN
DBMS_OUTPUT.PUT_LINE('Here');
DELETE FROM trip y where sysdate > y.arrival_date;
END;
/
BEGIN
DBMS_SCHEDULER.CREATE_JOB(
job_name => 'delete_old_rows',
job_type => 'PLSQL_BLOCK',
job_action => 'EXECUTE delete_trips;',
start_date => sysdate,
repeat_interval => 'FREQ=SECONDLY',
end_date => add_months(sysdate,12),
auto_drop => FALSE,
enabled => TRUE
);
END;
/
执行上述代码后,我可以看到作业“delete_old_rows”被安排在 DBA_SCHEDULER_JOBS 中,但既没有删除行,也没有在终端中产生输出。我尝试注销并再次登录,但没有删除任何行,也没有产生输出。并且满足删除条件的行确实存在。请帮忙。我错过了什么?