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

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

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

如果数据库是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 ...

先建一个错误跟踪表 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) ); --------在过程的例外里...

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

--1.通过RAISE弹出框(调试时使用) --2.通过sqlcode , sqlerrm 这两个内置变量来查看,例如: DECLARE --声明异常 some_kinds_of_err EXCEPTION; -- Exception to indicate an error condition v_ErrorCode NUMBER; -- Variable to hold the er...

示例参考: 建立存储过程 CREATE OR REPLACE PROCEDURE P_name--存储过程名字 ( i_var in int, --输入参数1 o_var OUT varchar2 --输出参数1 ) IS v_STR VARCHAR2(200); --定义存储过程内部的局部变量 BEGIN --下面是存储过程的主体实现部分 v_ST...

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

select * from v$access a where object like '存储过程名%' --存储过程名为大写字母 select * from v$session where sid=74 --74为上一个查询得到的SID值,可能是多个,这里找到他们对应的serial#值 alter system kill session '74,118' --参数...

定义一个块,块中说明异常情况下如何处理就可以了。 begin select 字段 into 变量... exception when NO_DATA_FOUND then --未找到时 处理逻辑 when exception_code then --这里的错误代码可以在standard包中找到 处理逻辑 when OTHERS then --d...

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