最近在项目中维护一个三方写的老破旧项目,居然在项目中大量用存储过程书写逻辑,在维护过程中不停的要去查看阅读对方写的存储过程是一个什么逻辑,使用Data Grip的断点功能尝试在存储过程中打断点,也根本不生效,无奈退而求其次,用在存储过程中打印日志的方式来进行测试,首先用如下SQL脚本,建立一个专门打印日志的存储过程:

create procedure PROC_PRINT_DEBUG_INFO(V_INFO IN NVARCHAR2)  --如果这个存储过程存在就把create 换成replace替换,否则create创建,这里创建有参数的存储过程
as --不可省略
begin
   dbms_output.put_line('【------打印调试信息:'||V_INFO||'------】');--注意不是双引号而是单引号,否则调用存储过程会报错
end;

然后就可以在其他存储过程中任意地方调用这个存储过程来打印想要的日志了。