存储过程获取sqlcode和sqlerrm的问题
存储过程里面捕获异常后,我想记录打日志表里面去:
insert into log_table(c1, c2) values(sqlcode, sqlerrm);
为什么存储过程报错,不能直接调用sqlcode,sqlerrm。
我单独创建两个类型
error_code number;
error_msg varchar2(200);
error_code := sqlcode;
error_msg := sqlerrm;
然后
insert into log_table(c1, c2) values(error_code, error_msg);
这样就可以。
但是这样就得创建两个对象。
我想直接在insert语句里面调用到sqlcode,sqlerrm,不创建两个对象,请问有什么好办法?
------解决方案--------------------多创建2个变量而已,又不影响什么。。。
只能这么做
------解决方案--------------------声明两个变量,有很大浪费?
------解决方案--------------------sqlcode, sqlerrm是两个函数,跟sysdate类似
可能insert into需要静态值吧