表里的开始结束时间可以取数据库当前的时间,select sysdate from dual; 运行的状态的话,你可以自己定义啊,比如's'表示成功'f'表示失败,那么在存储过程 运行成功,最后要结束的时候往表里插's',在处理异常的时候往表里插'f'
你查看一下你的存储过程是通过方式来执行?一、如果是用oracle的job来执行的话:你可以用select * from user_jobs查看你的存储过程执行开始时间,结束时间,是否运行成功等信息。二、如果是unix的shell调用存储过程,那需要在存储过程里面写。三、如果是windows的执行计划调用,那需要在存储过程里面写。应该怎么写,要看你的业务逻辑,是对数据库进行什么操作,要不情况很多,也不好一一列举。
运行的状态的话,你可以自己定义啊,比如's'表示成功'f'表示失败,那么在存储过程
运行成功,最后要结束的时候往表里插's',在处理异常的时候往表里插'f'
只要保证job能正常运行 存储过程每次执行的周期及时间点是固定的
数据库记录执行结束时间,方法很多。
PROCQUEUE
表中相关字段:
STATUS 运行的状态
RUNDATE 开始运行的日期
RUNTIME 开始运行的时间
ENDDATE 运行结束后的日期
ENDTIME 运行结束后的时间查询时,可以这样写
SELECT p.PROG 存贮过程名,p.STATUS 执行结果,p.RUNDATE 开始运行日期,p.RUNTIME 开始运行时间,p.ENDDATE 运行结束日期,p.ENDTIME 运行结束时间 FROM PROCQUEUE p
WHERE p.PROG='你调用的存贮过程名'然后你可以把这些信息插入到自己的表中
SHELL是啥,呵呵 刚学ORACLE,啥都不懂