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 捕获异常 <style> .CodeEntity .code_pieces ul.piece_anchor{width:25px;position:absolute;top:25px;left:-30px;z-index:1000;} .CodeEntity .code_pieces ul.piece_anchor li{width:25px;background: #efe;margin-bottom:2px;} .CodeEntity .code_pieces ul.piece_anchor li{border-left:3px #40AA63 solid;border-right:3px #efe solid;} .CodeEntity .code_pieces ul.piece_anchor li:hover{border-right:3px #40AA63 solid;border-left:3px #efe solid;} .CodeEntity .code_pieces ul.piece_anchor li a{color: #333;padding: 3px 10px;} .CodeEntity .code_pieces .jump_to_code{visibility:hidden;position:relative;} .CodeEntity .code_pieces .code_piece:hover .jump_to_code{visibility:visible;} .CodeEntity .code_pieces .code_piece:hover .jump_to_code a{text-decoration:none;} .CodeEntity .code_pieces h2 i{float:right;font-style:normal;font-weight:normal;} .CodeEntity .code_pieces h2 i a{font-size:9pt;background: #FF本文来源gaodaima#com搞(代@码$网6FFFF;color:#00A;padding: 2px 5px;text-decoration:none;} </style> <!—ecms
- –> <!—ecms
- $velocityCount
–> <!—ecms
–>
/**mySql中是否能有SQLserver的@@error变量呢,或者如c#中的try catch语法呢。答案是肯定的,实例代码如下:**/CodeDROP PROCEDURE IF EXISTS sp_call_jobs;CREATE PROCEDURE sp_call_jobs() NOT DETERMINISTIC SQL SECURITY DEFINER COMMENT ''BEGINdeclare _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; 可以保证完整性。**/