2012-03-06 66 views
0

我希望這不僅僅是複製this question使用MYSQL處理程序記錄

我已閱讀文檔,但我不認爲我完全理解如何正確使用它。

我想捕獲存儲過程中拋出的錯誤並將這些錯誤記錄在表中。這主要是爲了實驗目的。我想知道是否有方法來捕獲任何錯誤,然後將代碼和錯誤記錄到表中。

到目前爲止,它看起來像我必須爲每個錯誤聲明不同的處理程序。這是正確的還是有辦法捕捉所有錯誤並獲取代碼和消息。

例如,在每個存儲過程我聲明瞭一對夫婦的處理程序

DECLARE EXIT HANDLER FOR 1062 
BEGIN 
    SELECT 'Attempt to create a duplicate entry occurred'; 
END; 
DECLARE EXIT HANDLER FOR SQLEXCEPTION 
BEGIN 
ROLLBACK; 
SELECT 'Unexpected Error Ocurred'; 
END; 

而不是

SELECT 'custom message'; 

我想做

INSERT INTO errorLogs(code, message); 

這是可能的不宣處理程序的負載和手動添加每個代碼?

真的很感謝任何幫助指引我在正確的方向。

回答

0

看來這是不可能的,直到我可以在DIAGNOSTICS上使用MYSQL的更新版本。我發現this question這與我的基本相同。呃,好吧。