MySQL 5.0新特性教程 存储过程:第四讲
2005-10-31 16:42:19 来源:WEB开发网核心提示: 1. DECLARE CONTINUE HANDLER example CONTINUE处理例子CREATE TABLE t4 (s1 int,Prima(最完善的虚拟主机管理系统)ry key(s1));//CREATE PROCEDURE p23 ()BEGINDECLARE CONTINUE HANDLERF
1. DECLARE CONTINUE HANDLER example CONTINUE处理例子
CREATE TABLE t4 (s1 int,Prima(最完善的虚拟主机管理系统)ry key(s1));//
CREATE PROCEDURE p23 ()
BEGIN
DECLARE CONTINUE HANDLER
FOR SQLSTATE '23000' SET @x2 = 1;
SET @x = 1;
INSERT INTO t4 VALUES (1);
SET @x = 2;
INSERT INTO t4 VALUES (1);
SET @x = 3;
END;//
这是MySQL(和PHP搭配之最佳组合)参考手册上的CONTINUE处理的例子,这个例子十分好,所以我把它拷贝到这里。
通过这个例子我们可以看出CONTINUE处理是如何工作的。
2. DECLARE CONTINUE HANDLER声明CONTINUE异常处理
CREATE TABLE t4 (s1 int,Prima(最完善的虚拟主机管理系统)ry key(s1));//
CREATE PROCEDURE p23 ()
BEGIN
DECLARE CONTINUE HANDLER
FOR SQLSTATE '23000' SET @x2 = 1; <--
SET @x = 1;
INSERT INTO t4 VALUES (1);
SET @x = 2;
INSERT INTO t4 VALUES (1);
SET @x = 3;
END;//
这次我将为SQLSTATE值定义一个处理程序。还记得前面我们使用的MySQL(和PHP搭配之最佳组合)错误代码1216吗?
事实上这里的23000SQLSTATE是更常用的,当外键约束出错或主键约束出错就被调用了。
3. DECLARE CONTINUE HANDLER
CREATE TABLE t4 (s1 int,Prima(最完善的虚拟主机管理系统)ry key(s1));//
CREATE PROCEDURE p23 ()
BEGIN
DECLARE CONTINUE HANDLER
FOR SQLSTATE '23000' SET @x2 = 1;
SET @x = 1; <--
INSERT INTO t4 VALUES (1);
SET @x = 2;
INSERT INTO t4 VALUES (1);
SET @x = 3;
END;//
这个存储过程的第一个执行的语句是"SET @x = 1"。
[]
- ››MySql数据库插入式的多存储引擎机制
- ››MySQL和PDO测试对比
- ››MySQL大表中重复字段的查询效率方法
- ››MySQL中BLOB字段类型介绍
- ››mysql 数据库查询随机数量条目的效率问题及解决办...
- ››MySQL中两种索引Hash与B-Tree的区别
- ››MySql存储过程 带参数处理方式
- ››MySQL数据表在phpmyadmin中的强制修复
- ››MySQL 5 乱码问题处理办法
- ››mysql sql语法错误 1149
- ››MySQL 1040 错误 Too many connections
- ››MySQL client ran out of memory(2008)
赞助商链接