【发布时间】:2017-09-21 23:58:25
【问题描述】:
我有一个运行不返回数据的查询的过程,目的是为了测试错误处理:
create or replace procedure archive_aggreg(p_to_date in date)
is
v_lname VARCHAR2 (15);
begin
SELECT city INTO v_lname
FROM CHAIN1;
FOR Lcntr IN 1..100000
LOOP
INSERT INTO CHAIN1 VALUES (1, TO_CHAR(p_to_date, 'FMMonth DD, YYYY HH24:MI:SS'), TO_CHAR(p_to_date, 'FMMonth DD, YYYY HH24:MI:SS'));
END LOOP;
commit;
EXCEPTION
WHEN OTHERS
THEN
DECLARE
l_code INTEGER := SQLCODE;
BEGIN
INSERT INTO T_LOG (
error_code
, error_message
, backtrace
, callstack
, created_on
, created_by)
VALUES (
l_code
, sys.DBMS_UTILITY.format_error_stack
, sys.DBMS_UTILITY.format_error_backtrace
, sys.DBMS_UTILITY.format_call_stack
, SYSDATE
, USER);
RAISE;
END;
end;
除了要在表T_LOG中插入的错误,但不是这样,但是在PL/SQL Developer控制台我得到了这个消息:
ORA-01403: no data found
【问题讨论】:
-
您的意思是当您创建该过程时,或者您随后运行它时收到该错误消息?