shwq.net
当前位置:首页 >> 请教各位高手 orAClE 存储过程 如何将获得捕获异常... >>

请教各位高手 orAClE 存储过程 如何将获得捕获异常...

可以先定义个变量,发生异常的时候将异常信息赋值给变量,插入表的时候用变量, 日志表没给表结构,我自己重新定义了一个,测试ok。 CREATE TABLE T_LOG_ERROR (ERR_ID NUMBER, ERR_TIME DATE, ERR_CODE NUMBER, ERR_INFOR VARCHAR2(4000) ); cr...

先建一个错误跟踪表 create sequence s_error_id; CREATE TABLE ERROR_RECORD ( ERROR_ID NUMBER(10) primary key, ERROR_CODE NUMBER(10), ERROR_MSG VARCHAR2(2000), ERROR_DATE DATE, ERROR_PROGRAM VARCHAR2(200) ); --------在过程的例外里...

如果数据库是10g及以上版本,可以使用dbms_utility.format_error_backtrace(),这个函数能够返回错误行,可以套用以下格式: create or replace procedure prc_test(参数) is v_no number; begin select no into v_no from zrp; exception when ...

你说的异常是什么意思?如果是,执行中的错误,那么可以用“调试”,不过需要有一个系统权限的拥护才能调试,权限好象是什么debug XXXXX。 如果说的是有时执行因为这样那样的数据问题出现的异常,那么一般都是通过exception来抛出异常的,这样的抛...

可用第三方工具检查错误。 如以下存储过程: 其中第六行故意少写了一个分号。 然后执行后,会提示完成,这时可以去左边的树中找到这个存储过程,显示是有个红叉的。 这时,可以右键,选择编辑。 然后打开页面的最下方会显示如下信息。 此时鼠标...

begin select into ......................; exception when errorException then ................. when others then ..................end;

执行完成后在PB中看到sqlca.sqlcode的值是100.过程最后有exception的,可是debug执行过程时没有exception退出,而且在PB中的sqlca.sqlerrtext值是空字符串

如果你是使用PL/sql工具,在command 窗口下执行set serveroutput on 然后exec sp; 可以看到了 或者在sqlplus 中执行上面的代码

我只知道存储过程出错了的话可以使用指令 show errors来显示错误所在行。这是为了能够识别错误所在大致位置然后修改,如果你是为了保存错误日志的话就不知道该怎么做了,恕小弟我才疏学浅

网站首页 | 网站地图
All rights reserved Powered by www.shwq.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com