存储过程错误消息处理(放在事务回滚rollback之前):
-----------------
sqlserver
declare @ERROR_MESSAGE varchar(500);--错误原因
declare @ERROR_LINE varchar(500);--错误行数
set @ERROR_MESSAGE=ERROR_MESSAGE();
set @ERROR_LINE=ERROR_LINE();
将错误原因和错误行数存放到日志表中
-----------------
oracle
v_sqlmsg := SQLCODE||'----'||SQLERRM;
ROLLBACK;
raise_application_error('-20001', v_sqlmsg);
-----------------
sqlserver
declare @ERROR_MESSAGE varchar(500);--错误原因
declare @ERROR_LINE varchar(500);--错误行数
set @ERROR_MESSAGE=ERROR_MESSAGE();
set @ERROR_LINE=ERROR_LINE();
将错误原因和错误行数存放到日志表中
-----------------
oracle
v_sqlmsg := SQLCODE||'----'||SQLERRM;
ROLLBACK;
raise_application_error('-20001', v_sqlmsg);