现有一个job每十分钟运行一次,job中的存储过程(proc_workflow_online)分两部分,
1.执行另一个存储过程(proc_report_workflow)用来整理数据
2.将整理好的数据插入到新表中。
在执行第二步时,要插入该job开始执行时的时间。
如下所示,我在执行第二步时,写成了记录插入表时的时间了。
不知该如何改正,请给出具体代码,谢谢。
create or replace procedure proc_workflow_online
is
rtn_flg VARCHAR2(10);
begin
-------------第一步----------
--想在此处加个变量,用来记录执行proc_report_workflow之前的时间
proc_report_workflow(rtn_flg); --存储过程
dbms_output.put_line(rtn_flg);
-------------第二步----------
insert into  workflow_online
  select sysdate as 时间, --将此处的时间替换为前面记录的变量时间
         生产线,
 sum(包装) as PACKAGED
    from v_a_m_在制品报表
   group by 生产线;
commit;
end proc_workflow_online;

解决方案 »

  1.   

    create or replace procedure proc_workflow_online
    is
    rtn_flg VARCHAR2(10);
    exec_time varchar2(20);--用来记录执行proc_report_workflow之前的时间
    begin
    -------------第一步----------
    exec_time:=SYSDATE;--记录执行proc_report_workflow之前的时间
    proc_report_workflow(rtn_flg); --存储过程
    dbms_output.put_line(rtn_flg);
    -------------第二步----------
    insert into  workflow_online
      select exec_time,--将此处的时间替换为前面记录的变量时间
            生产线,
    sum(包装) as PACKAGED
        from v_a_m_在制品报表
      group by 生产线;
    commit;
    end proc_workflow_online;