测试存储过程如下:

create or replace procedure prc_test is
  p_1 varchar2(2);
begin

  p_1 := 'lxw测试';

exception
  when others then
    dbms_output.put_line(sqlcode); --Oracle内置变量,错误代码
    dbms_output.put_line(sqlerrm); --Oracle内置变量,错误详细描述
    dbms_output.put_line(dbms_utility.format_error_backtrace()); --出错行号
end;

Oracle存储过程打印输出错误信息、行号,快速排查_oracle

测试后,输出错误信息如图:

Oracle存储过程打印输出错误信息、行号,快速排查_oracle_02

根据错误提示,我们快速定位到存储过程第5行,错误原因是p_1变量小了,调整变量大小,测试通过。