51代码网ORACLEMYSQLSQL SERVER其它数据库java/jspasp/asp.netC/C++/VC++APP应用其它语言服务器应用
您现在的位置: 51代码网 >> mysql >> 文章正文

mysql存储过程如何判断dml和dql执行的状态

更新时间:2012-1-3:  来源:51代码网

就是如何判断select insert update delete操作的成功与否是否出错。
以前项目从来没用过存储过程。很多开源的软件也没有。
所以就疏忽这块内容。现在想补充学习其他之前没用过的其他技术。
以提高以后项目在数据库操作方面的效率。看了几章手册的内容,感觉受益匪浅。还在继续学习中。
言归正传。执行select insert update delete操作,如何判断执行情况。知道dml有个ROW_COUNT(),可以用来判断吗,还有其他办法吗。结合DECLARE HANDLER FOR 使用吗。谢谢。

用DECLARE HANDLER捕获错误
DECLARE Handlers
DECLARE handler_type HANDLER FOR condition_value[,...] statement

handler_type:
  CONTINUE
  | EXIT
  | UNDO

condition_value:
  SQLSTATE [VALUE] sqlstate_value
  | condition_name
  | SQLWARNING
  | NOT FOUND
  | SQLEXCEPTION
  | mysql_error_code

简单示例:
 BEGIN
 DECLARE CONTINUE HANDLER FOR 1216 select
 'Foreign key constraint violated';
 INSERT INTO departments (department_name,manager_id,location)
 VALUES ('Elbonian HR','Catbert','Catbertia');
END;

  • 上一篇文章:
  • 下一篇文章: 没有了
  • 赞助商链接
    推荐文章
  • 此栏目下没有推荐文章
  • {
    设为首页 | 加入收藏 | 友情链接 | 网站地图 | 联系站长 |