【发布时间】:2018-06-22 08:38:04
【问题描述】:
我想编写一个查看特定表的 PL/SQL 作业,并将一些适合某些条件的特定条目插入到另一个表中。
在特定列中,我的意思是,在状态列中可能有“正在进行”。我想搜索这些包含“正在进行”条目的列,sysdate 之间的时间间隔最多为 1 小时。
我有这个代码,
begin
SYS.DBMS_JOB.CHANGE
( job => 121313
,what => q'#
DECLARE
v_say NUMBER;
BEGIN
select rowid, a.*
from project_situation a
WHERE a.STATUS like '%ONGOING%'
and (a.CREATION_DATE) >= '?????'
order by a.creation_date desc;
COMMIT;
END;
#'
,next_date => TRUNC(SYSDATE + 1) + 7/24
,interval => 'TRUNC(SYSDATE + 1) + 7/24'
);
commit;
end;
/
表中可能有很多条目。我想获取创建时间大于 1 小时的条目。创建时间格式为'22/09/2018 11:52:20'
我还想每 30 分钟运行一次这项工作。
【问题讨论】:
-
没有
sysdate - 1/24帮助吗? -
您希望如何处理这些行?您不能只在 PL/SQL 块中运行 select 语句;您必须将结果返回到某些东西中(例如,将它们插入表中,将它们收集到数组中等)。