Stored-Procedures
顯示 DB2 儲存過程中發生錯誤的行號
我在我的過程中添加了一個 EXIT 處理程序來擷取 SQLSTATE 和 SQLCODE,甚至找到了一種獲取過程名稱的方法,但我還需要知道錯誤發生在哪裡。建議非常感謝。
declare EXIT handler for SQLEXCEPTION begin select sysibm.routine_specific_name, SQLSTATE, SQLCODE into v_sp_name, v_sqlstate, v_sqlcode from sysibm.sysdummy1; call dbms_output.put_line('Error in '||v_sp_name ' ['||v_sqlstate, v_sqlcode||']'); end;
如果您使用的是目前受支持的 Db2 for LUW 版本(11.1 或 11.5),那麼您可以使用其中一個
DBMS_UTILITY.FORMAT_CALL_STACK()
或DBMS_UTILITY.FORMAT_ERROR_BACKTRACE()
在您的信號處理程序中記錄故障排除資訊。
您可能需要將調試程式碼添加到過程中以指示過程中的進度。
否則,您可以探索IBM Data Studio 中的常式調試器來幫助您查找 SQL 儲存過程中的錯誤