如果一张表中的数据存在一个小时,我需要清除所有记录。为了确定开始时间,我有一个名为“StartTime”的列,其数据类型为“date”。我认为我需要一个计时器来完成这个任务。
在Oracle中,我该如何做?
如果一张表中的数据存在一个小时,我需要清除所有记录。为了确定开始时间,我有一个名为“StartTime”的列,其数据类型为“date”。我认为我需要一个计时器来完成这个任务。
在Oracle中,我该如何做?
针对哪个版本的Oracle?
对于版本v7.3.4到9i,请使用DBMS_JOB来安排任务。对于10g+,您需要使用DBMS_SCHEDULER。我不清楚您希望/需要多久运行一次此任务...
需求并不十分明确。
这是一个你只需运行一次的任务/程序,它将删除已存在超过一小时的记录吗?如果是这样,你可以使用...
delete from <table_name>
where StartTime < (sysdate-1/24);
commit;