SQL PKG示例
CREATE OR REPLACE PACKAGE PKG_SYS_LOG IS
-- Author : Li Cong
-- Created : 2009-10-12
-- Purpose : 存放系统级别的日志信息,如,过程报错。
---系统报错日志记录
PROCEDURE ERROR_LOG(P_PACKAGE_NAME VARCHAR2,
P_PROC_NAME VARCHAR2,
P_EXCEP_DT DATE,
P_EXCEP_CODE VARCHAR2,
P_EXCEP_DESC VARCHAR2,
P_EXCEP_REMK VARCHAR2,
P_LINE_NO NUMBER);
---系统执行日志
PROCEDURE EXECUTE_LOG(P_PACKAGE_NAME VARCHAR2,
P_PROC_NAME VARCHAR2,
P_EXEC_START_TM DATE,
P_EXEC_END_TM DATE,
P_EXEC_PEND_TM NUMBER,
P_EXEC_REF_DATA_ROWS NUMBER,
P_EXEC_REMK VARCHAR2);
END PKG_SYS_LOG;
CREATE OR REPLACE PACKAGE BODY PKG_SYS_LOG IS
--*************************************************************
-- AUTHOR : KELIVEN LIU
-- CREATED : 2008-05-20
-- PURPOSE : 记录系统中存储过程运行日志
-- PARAMETER:
-- P_PACKAGE_NAME VARCHAR2 包名
-- P_PROC_NAME VARCHAR2, 过程名
-- P_EXCEP_DT DATE, 执行日期
-- P_EXCEP_CODE VARCHAR2, 异常代码
-- P_EXCEP_DESC VARCHAR2, 异常描述信息
-- P_EXCEP_REMK VARCHAR2, 备注,可能的值为'BEGIN','END','ERROR'
-- P_LINE_NO NUMBER 行号
-- MODIFY HISTORY
-- PERSON DATE COMMENTS
-- -------------------------------------------------------------
--*************************************************************
--*************************************************************
-- AUTHOR : KELIVEN LIU
-- CREATED : 2008-05-20
-- PURPOSE : 记录系统中存储过程运行日志
-- PARAMETER:
-- NAME TYPE DESC
-- P_SEQ_NO NUMBER 发生异常存储过程中主要sequence的当前值
-- P_PROC_NAME VARCHAR2 存储过程名
-- P_EXCEP_DT DATE 时间,包括开始时间,结束时间,异常发生时间
-- P_EXCEP_CODE VARCHAR2 异常代码
-- P_EXCEP_DESC VARCHAR2 异常描述信息
-- P_EXCEP_REMK VARCHAR2 备注,可能的值为'BEGIN','END','ERROR'
-- P_LINE_NO NUMBER 行号
-- P_PACKAGE_NAME VARCHAR2, 包名
-- P_PROC_NAME VARCHAR2, 过程名
-- P_EXEC_START_TM DATE, 执行开始时间
-- P_EXEC_END_TM DATE, 执行结束时间
-- P_EXEC_PEND_TM NUMBER, 执行花费时间
-- P_EXEC_REF_DATA_ROWS NUMBER, 涉及数据量
-- P_EXEC_REMK VARCHAR2 备注,可能的值为'BEGIN','END','ERROR'
-- MODIFY HISTORY
-- PERSON DATE COMMENTS
-- -------------------------------------------------------------
--*************************************************************
PROCEDURE ERROR_LOG(P_PACKAGE_NAME VARCHAR2,
P_PROC_NAME VARCHAR2,
P_EXCEP_DT DATE,
P_EXCEP_CODE VARCHAR2,
P_EXCEP_DESC VARCHAR2,
P_EXCEP_REMK VARCHAR2,
P_LINE_NO NUMBER) AS
PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
INSERT INTO TC_EXCEPTION_LOG
(LOG_ID,
PACKAGE_NAME,
PROC_NAME,
EXCEPTION_TM,
EXCEPTION_CODE,
EXCEPTION_DESC,
EXCEPTION_REMK,
LINE_NO)
VALUES
(SEQ_LOG.NEXTVAL,
SUBSTR(P_PACKAGE_NAME, 1, 120),
SUBSTR(P_PROC_NAME, 1, 120),
P_EXCEP_DT,
SUBSTR(P_EXCEP_CODE, 1, 200),
SUBSTR(P_EXCEP_DESC, 1, 1000),
SUBSTR(P_EXCEP_REMK, 1, 600),
P_LINE_NO);
COMMIT;
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('STP_RUNNING_LOG' || SQLCODE || ':' || SQLERRM);
ROLLBACK;
END ERROR_LOG;
---系统执行日志
PROCEDURE EXECUTE_LOG(P_PACKAGE_NAME VARCHAR2,
P_PROC_NAME VARCHAR2,
P_EXEC_START_TM DATE,
P_EXEC_END_TM DATE,
P_EXEC_PEND_TM NUMBER,
P_EXEC_REF_DATA_ROWS NUMBER,
P_EXEC_REMK VARCHAR2) AS
PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
INSERT INTO TC_EXECUTE_LOG
(LOG_ID,
PACKAGE_NAME,
PROC_NAME,
STRAT_TM,
END_TM,
SPEND_TM,
REF_DATA_ROWS,
REMK)
VALUES
(SEQ_LOG.NEXTVAL,
SUBSTR(P_PACKAGE_NAME, 1, 120),
SUBSTR(P_PROC_NAME, 1, 120),
P_EXEC_START_TM,
P_EXEC_END_TM,
P_EXEC_PEND_TM,
P_EXEC_REF_DATA_ROWS,
SUBSTR(P_EXEC_REMK, 1, 1000));
COMMIT;
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('TC_EXECUTE_LOG' || SQLCODE || ':' || SQLERRM);
ROLLBACK;
END EXECUTE_LOG;
END PKG_SYS_LOG;
SQL PKG示例的更多相关文章
- SQL 2005示例库(转载)
sql2005数据库实例 从网上找还得麻烦,转了过来,点击就可以下载! 在学习SQL2005中离开不了SQL2005示例数据库,AdventureWorks数据库下载安装,,northwind数据库下 ...
- mybatis的sql中使用$会出现sql注入示例
mybatis的sql中使用$会出现sql注入示例: 模拟简单登录场景: 页面代码: function login(){ //sql注入 var user = { username : "' ...
- Mysql 使用命令及 sql 语句示例
Mysql 是数据库开发使用的主要平台之一.sql 的学习掌握与使用是数据库开发的基础,此处展示详细sql 语句的写法,及各种功能下的 sql 语句. 在此处有 sql 语句使用示例:在这里 此处插入 ...
- sql注入示例
实验指导说明 实验环境 • 实验环境 o 操作机:Windows XP o 目标机:Windows 2003 o 目标网址:www.test.ichunqiu • 实验工具: Tools Path S ...
- Spark SQL UDAF示例
UDAF:用户自定义聚合函数 Scala 2.10.7,spark 2.0.0 package UDF_UDAF import java.util import org.apache.spark.Sp ...
- Spark SQL UDF示例
UDF即用户自定函数,注册之后,在sql语句中使用. 基于scala-sdk-2.10.7,Spark2.0.0. package UDF_UDAF import java.util import o ...
- SQL XML示例
declare @xmlDoc xml,@id varchar(50); set @xmlDoc='<DocObjContent> <NewCtrl Id="0001&qu ...
- oracle sql 语句 示例
--oracle 用户对象的导入导出 exp devimage/oracle@172.xx.x.xx/TESTDB owner='devimage' file=d:/devimage.dmp log= ...
- mysql 简单的sql优化示例[不定时更新]
对于慢sql的分析步骤: 1) desc|explain sql 查看执行计划, 对于type很慢的, 分析是否建立了对应字段的索引 2) 进行排除法, 把子查询抽离出来, 单独执行,定位慢查询是哪个 ...
随机推荐
- PAT甲级 1120. Friend Numbers (20)
1120. Friend Numbers (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Two in ...
- All Start Here.
缘由 本博客是为天大软院 2016 级研一课程"现代软件工程"的课程设计而开设.同时借此机会和同学们进行技术交流与分享. 我们小组共有四位成员: 陈岩岩 2016218020 刘莞 ...
- 18:description方法
本小节知识点: [掌握]description基本概念 [掌握]description重写的方法 [了解]description陷阱 1.description基本概念 NSLog(@"%@ ...
- 1.messager消息提示框
$表示全局对象jquery,此处的alert是用div写的,不是真正的alert.
- hdu5016
题意:给定一个n个点的图,这个图是一棵树,然后有些点建立了集市.并且没有集市的地方去集市一定是去最近的,如果距离相同,那么则去标号最小的..现在你还能在建一个集市,问建完这个集市最多有多少个点来这里. ...
- 分形之二叉树(Binary Tree)
上一篇文章讲的是分形之树(Tree),这一篇中将其简化一下,来展示二叉分形树的生长过程. 核心代码: static void FractalBinaryTree(const Vector3& ...
- Spring Security ——AuthenticationProvider
AuthenticationProvider 目录 1.1 用户信息从数据库获取 1.1.1 使用jdbc-user-service获取 1.1.2 直接使用JdbcDaoImpl ...
- JMeter----正则表达式&JSON Path Extractor
最近在用JMerter给公司一个项目做性能测试,期间遇到要提取上一个接口返回的数据作为下个接口的请求.这里做下记录 如图所示,需要将“扫描二维码”接口请求的返回值中的data部分,作为“处理提交码值” ...
- C# WPF 用MediaElement控件实现视频循环播放
在WPF里用MediaElement控件,实现一个循环播放单一视频的程序,同时可以控制视频的播放.暂停.停止. 一种方式,使用MediaElement.MediaEnded事件,在视频播放结束后,自动 ...
- C# 使用Google Protocol Buffers
Google Protocol Buffers 使用3.0版本 下载protoc.exe 下载链接 https://github.com/protocolbuffers/protobuf/releas ...