mySql中是否能有SQLserver的@@error變量呢,或者如c#中的try catch語法呢。 MySQL 捕獲異常 /**mySql中是否能有SQLserver的@@error變量呢,或者如c#中的try catch語法呢。答案是肯定的,實例代碼如下:**/CodeDROP PROCEDURE IF EXISTS sp_call_jobs;CREATE
mySql中是否能有SQLserver的@@error變量呢,或者如c#中的try catch語法呢。 MySQL 捕獲異常 $velocityCount-->/**mySql中是否能有SQLserver的@@error變量呢,或者如c#中的try catch語法呢。 答案是肯定的,實例代碼如下:**/ Code 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+1; end if; set _row=_row+1; end while; select _count; END; /**語句: DECLARE CONTINUE HANDLER FOR SQLEXCEPTION,SQLWARNING,NOT FOUND set _err=1; 作用是當遇到SQLEXCEPTION,SQLWARNING,NOT FOUND 錯誤時,設置_err=1并執行CONTINUE操作,即繼續執行后面的語句。 這就與c#中的try catch語法很像。 而且在執行可能出錯的語句的時候我們用事務語句:START TRANSACTION; …… COMMIT; 可以保證完整性。 **/
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com