1. DECLARE CONDITION
CREATE PROCEDURE p24 () 这是另外一个错误处理的例子,在前面的基础上修改的。事实上你可给SQLSTATE或者错误代码其他的名字,你就可以在处理中使用自己定义的名字了。下面看它是怎么实现的:我把表t2定义为InnoDB表,所以对这个表的插入操作都会ROLLBACK(回滚),ROLLBACK(回滚事务)也是恰好会发生的。因为对主键插入两个同样的值会导致SQLSTATE 23000错误发生,这里SQLSTATE 23000是约束错误。 2. DECLARE CONDITION声明条件
CREATE PROCEDURE p24 () 这个约束错误会导致ROLLBACK(回滚事务)和SQLSTATE 23000错误发生。 3. DECLARE CONDITION
mysql> CALL p24()// 我们调用这个存储过程看结果是什么,从上面结果我们看到表t2没有插入任何记录。全部事务都回滚了。这正是我们想要的。 |
正在阅读:MySQL 5.0 新特性教程 存储过程:第四讲MySQL 5.0 新特性教程 存储过程:第四讲
2005-09-07 09:55
出处:PConline原创
责任编辑:moningfeng
键盘也能翻页,试试“← →”键