MYSQL SQLEXCEPTION HANDLER 抓錯誤訊息

我用MSSQL的SP好像沒這麼多事啊?

筆記下MYSQL搞得我快瘋了的SP例外處理

DECLARE EXIT HANDLER FOR SQLEXCEPTION
BEGIN

GET CURRENT DIAGNOSTICS CONDITION 1 
code = RETURNED_SQLSTATE,
errno = MYSQL_ERRNO, 
msg = MESSAGE_TEXT;

SELECT code,errno,msg;

ROLLBACK;

END

注意:ROLLBACK;要放在最後不然先回滾錯例外就跟著沒了!

另外是如果有用 @sqlString 記錄查詢語句,要注意這是全域變數,

也就是說你在A SP紀錄,但是在B SP沒有reset該變數,

B在執行途中輸出 @sqlString 實際上會輸出上A SP裡頭用的查詢語句

讓我好查了老半天...

PS5