--在oracle写过程中很多是对数据处理,业务比较繁琐,有的需要结合job定时器使用,这样就需要知道执行过程的大概时间,不废话直接上脚本,统计单位为分钟

PROCEDURE DATA_DEAL_WITH(po_msg OUT varchar2, --结果信息
ZX_TIME OUT NUMBER --执行时间
) IS

V_BEGIN_TIME VARCHAR2(50);--过程执行开始时间
V_END_TIME VARCHAR2(50);--过程执行结束时间

--初始化
PO_MSG:='OK';
ZX_TIME:=0;
SELECT TO_CHAR(SYSDATE,'yyyy-mm-dd hh24:mi:ss') INTO V_BEGIN_TIME FROM DUAL;--执行开始时间

--循环游标 或者数据处理 在这省略

SELECT TO_CHAR(SYSDATE,'yyyy-mm-dd hh24:mi:ss') INTO V_END_TIME FROM DUAL;--执行结束时间
--统计过程执行时间 --统计单位 分钟
select round(to_number(TO_DATE(V_END_TIME,'yyyy-mm-dd hh24:mi:ss')-TO_DATE(V_BEGIN_TIME,'yyyy-mm-dd hh24:mi:ss'))*1440)
INTO ZX_TIME FROM DUAL;
EXCEPTION
WHEN E_ERROR THEN
PO_MSG:=E_ERRORMSG;
ROLLBACK;
WHEN OTHERS THEN
PO_MSG:='怀远数据处理流程异常'||SUBSTR(SQLERRM,1,400);
ROLLBACK;
END DATA_DEAL_WITH;

相关文章:

  • 2022-12-23
  • 2021-08-10
  • 2021-12-15
  • 2021-09-12
  • 2021-12-24
  • 2021-07-11
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-12-27
  • 2021-12-27
  • 2021-12-27
  • 2021-12-15
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案