文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 国产软件 | 国外软件 | 汉化补丁 | 设为首页 | 加入收藏
网站首页 软件下载
数码学院 网络学院
业界资讯 | 图形图像 | 操作系统 | 网络冲浪 | 工具软件 | 办公软件 | 媒体动画 | 精文荟萃 | 认证考试 | 网站建设 | 技术开发 | 专栏
当前位置:abcdown网络学院技术开发SQL 学院记录一致性错误日志可以简化PL-SQL调试
精品广告
推荐TOP10
·MySQL密码恢复笔记
·导入大量MYSQL数据的方法
·防范SQL指令植入式攻击
·修复SQL Server 2000数据库之实战经验
·SQL语句导入导出大全
·SQL注入的新技巧
·用vbs来写sql注入等80端口的攻击脚本
·sql的sa空口令漏洞怎么补
·用phpmyadmin备份MYSQL数据库
·SQL进阶
阅读TOP10
·用phpmyadmin备份MYSQL数据库
·构建一个简单的Silverlight应用程序
·记录一致性错误日志可以简化PL-SQL调试
·讲解MySQL数据库与ASP.NET如何强强联手
·一组SQLServer身份验证管理子程序
·SQL中单引号的两种处理技巧
·SQL查询语句精华使用简要
·MYSQL的master/slave数据同步配置
·SQL Server 提升权限相关命令及防范
·删除MSSQL危险存储过程的代码
·九大措施安全配置SQLServer协议加密等
·Sql Server实用操作小技巧集合
·mysql和access区别
·从IIS到SQL Server数据库安全
·重设mysql的root密码
·SQL Server提升权限相关命令及防范
·Asp+Sql 个人总结对数据库的各种操作
·SQL Server防范措施
·最简便的备份MySql数据库方法
·MSSQL 中一些有用的存储扩展

记录一致性错误日志可以简化PL-SQL调试

日期:2007年7月3日 作者: 查看:[大字体 中字体 小字体]


从事Oracle数据库方面的工作已有一年有余了,我最喜欢的部分是PL/SQL。这是Oracle的数据可编程语言,使用它可以将过程化代码与SQL代码结合在一起。

最令人喜欢的是我们可以使用它在一个地方开发整个应用。所有的数据选择和更新,所有与LDAP交互的HTTP和HTML输出,以及其它所有事情都可以使用一种语言在一个地方完成。

但是其缺点是应用程序十分复杂。因为PL/SQL代码中的一个特定过程或函数可能要完成上面诸多任务中的任何一个,这样当出现问题时,调试查找错误变得十分困难。

这是数据库的问题,还是使用LDAP时HTTP的问题?问题在哪里?在每个PL/SQL项目中我喜欢使用一种简单的错误日志记录机制,这样当出现问题时,我有一个可以查看的简单数据表来跟踪所有错误。

我通过构建一个日志数据表开始介绍:

CREATE TABLE ERRORLOG

(

IDNUMBERNOT NULL,

TIMEDATENOT NULL,

CODEVARCHAR2(9 BYTE)NOT NULL,

MESSAGEVARCHAR2(2000 BYTE)NOT NULL,

PACKAGE_NAMEVARCHAR2(100 BYTE),

PROCEDURE_NAMEVARCHAR2(100 BYTE)NOT NULL,

LOCATIONNUMBER,

PARAMETERSVARCHAR2(4000 BYTE)

);

与其它大多数数据库不同,Oracle中没有内置的用于对ID自动增加的字段域。所以,我们需要创建一个序列,然后添加某些机制实现在一个新值插入时赋予一个序列值。下面是我们的序列:

CREATE SEQUENCE ERRORLOG_ID_SEQ

MINVALUE 1

MAXVALUE 999999999999999999999999999

INCREMENT BY 1

START WITH 1

CACHE 20

NOORDER

NOCYCLE ;

我们可以使用触发器插入时间戳,我们稍后会在提供日志接口的包中实现。该触发器完成的操作是利用我们上面创建的序列递增ID域。

CREATE OR REPLACE TRIGGER T_ERRORLOG_BI

BEFORE INSERT

ON ERRORLOG

REFERENCING OLD AS OLD NEW AS NEW

FOR EACH ROW

begin

if :new.id is null then

select errorlog_id_seq.nextval

into :new.id

from dual;

end if;

end t_errorlog_bi;

在实际应用中对数据表提供一个主键是十分有益的。我知道我们可以在创建表格时设定主键,但是我喜欢以后单独完成这项工作。我不知道为什么,只是感觉这样做更清楚一些。

ALTER TABLE ERRORLOG ADD (PRIMARY KEY (ID));

PL/SQL是基于古老的Ada程序设计语言的,因此在创建一个包时,需要提供两部分:规格说明(接口)部分和主体部分接口的真正实现。对于我们简单的错误日志记录包,规格说明部分只提供一个单一过程:

CREATE OR REPLACE package pkg_error is

procedure log (p_error_code errorlog.code%type,

p_error_message errorlog.message%type,

p_package errorlog.package_name%type default null,

p_procedure errorlog.procedure_name%type,

p_location errorlog.location%type default null,

p_parameters errorlog.parameters%type default null);

end pkg_error;


[1] [2] 下一页 

上一篇:讲解MySQL数据库与ASP.NET如何强强联手

下一篇:Oracle中用SQL语句实现进制间互相转换


记录一致性错误日志可以简化PL-SQL调试 相关软件: 记录一致性错误日志可以简化PL-SQL调试 相关文章:

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.abcdown.net
首页 | 本站声明 | 下载帮助 | 发布软件 |
中文版权所有:ABC学院 浙ICP备05000717号