WRITE_LOG 记录错误信息和debug
PRAGMA AUTONOMOUS_TRANSACTION是自治事务的意思,一个procedure A调用一个procedure B,当B被设置成自治事务时,B的DML不会对A造成影响,如果B有commit或者rollback,也不会影响A,只会对B进行操作,B不依赖也不干涉A
USERENV是返回当前用户环境的函数,参数是字符串的形式,TERMINAL是返回用户终端或机器https://www.cnblogs.com/wanglibo/articles/2121098.html
DBMS_UTILITY.FORMAT_ERROR_STACK 获取Oracle异常堆栈信息
DBMS_UTILITY.FORMAT_CALL_STACK 获取程序调用关系
WRITE_TRACE 记录过程成功信息
系统运行日期取的是FIN用户下的视图FIN_SYSTEM的SYS_RUN_DATE,视图里面这个字段取自SCHNEW用户下SCH_TASK_STATE.RUNDATE,这个表是修改界面上跑批日期对应的表。但是切日的话???怎么算啊???
UPDATE_ETL记录数据处理控制信息
ETL_PROCESS_HIST 记录过程重跑过几次,当表中存在当天数据,则说明是重跑,就将process_num+1
ISREDO判断是否重跑
如果 ETL_PROCESS_HIST表里面有当天数据就返回true,否则返回false
过程里面先调用这个函数判断是否重跑,如果重跑,会删除当天数据
然后调用UPDATE_ETL来记录次数