--在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;
转载于:https://www.cnblogs.com/weiyi1314/p/10328874.html
