mysql數(shù)據(jù)庫(kù)異常處理代碼實(shí)例
和C#中處理異常的方法很相像,mysql也有它自己處理異常的方法,本文列出了mysql處理實(shí)例的代碼,通過(guò)代碼我們來(lái)了解mysql數(shù)據(jù)庫(kù)處理異常的原理和方法。
具體的實(shí)例代碼如下:
- DROP PROCEDURE IF EXISTS sp_call_jobs;
- CREATE PROCEDURE sp_call_jobs()
- NOT DETERMINISTIC
- SQL SECURITY DEFINER
- COMMENT ''
- BEGIN
- declare _row,_err,_count int default 0;
- DECLARE CONTINUE HANDLER FOR SQLEXCEPTION,SQLWARNING,NOT FOUND set _err=1;
- while _row<3 DO
- START TRANSACTION;
- insert into t1(cond_val)values(null);
- COMMIT;
- if _err=1 then
- set _count_count=_count+1;
- end if;
- set _row_row=_row+1;
- end while;
- select _count;
- END;
語(yǔ)句:
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION,SQLWARNING,NOT FOUND set _err=1;
作用是當(dāng)遇到SQLEXCEPTION,SQLWARNING,NOT FOUND 錯(cuò)誤時(shí),設(shè)置_err=1并執(zhí)行CONTINUE操作,即繼續(xù)執(zhí)行后面的語(yǔ)句。
而且在執(zhí)行可能出錯(cuò)的語(yǔ)句的時(shí)候我們用事務(wù)語(yǔ)句:START TRANSACTION; …… COMMIT; 可以保證完整性。
本文就介紹這些,如果想了解更多mysql的問(wèn)題請(qǐng)到:http://database.51cto.com/mysql/,謝謝大家的支持!
【編輯推薦】