WEB开发网
开发学院数据库MySQL MySQL 5.0新特性教程 存储过程:第四讲 阅读

MySQL 5.0新特性教程 存储过程:第四讲

 2005-10-31 16:42:19 来源:WEB开发网   
核心提示: 4. DECLARE CONDITIONMySQL(和PHP搭配之最佳组合)> CREATE PROCEDURE p9 ()-> BEGIN-> DECLARE EXIT HANDLER FOR NOT FOUND BEGIN END;-> DECLARE EXIT HANDLER FOR


4. DECLARE CONDITION

MySQL(和PHP搭配之最佳组合)> CREATE PROCEDURE p9 ()
-> BEGIN
-> DECLARE EXIT HANDLER FOR NOT FOUND BEGIN END;
-> DECLARE EXIT HANDLER FOR SQLEXCEPTION BEGIN END;
-> DECLARE EXIT HANDLER FOR SQLWARNING BEGIN END;
-> END;//
Query OK, 0 rows affected (0.00 sec)


  这里是三个预声明的条件:NOT FOUND (找不到行), SQLEXCEPTION (错误),SQLWARNING (警告或注释)。因为它们是预声明的,因此不需要声明条件就可以使用。不过如果你去做这样的声明:"DECLARE SQLEXCEPTION CONDITION ...",你将会得到错误信息提示。


Cursors 游标


  游标实现功能摘要:

DECLARE cursor-name CURSOR FOR SELECT ...;
OPEN cursor-name;
FETCH cursor-name INTO variable [, variable];
CLOSE cursor-name;

  现在我们开始着眼游标了。虽然我们的存储过程中的游标语法还并没有完整的实现,但是已经可以完成基本的事务如声明游标,打开游标,从游标里读取,关闭游标。

1. Cursor Example

CREATE PROCEDURE p25 (OUT return_val INT)
BEGIN
DECLARE a,b INT;
DECLARE cur_1 CURSOR FOR SELECT s1 FROM t;
DECLARE CONTINUE HANDLER FOR NOT FOUND
SET b = 1;
OPEN cur_1;
REPEAT
FETCH cur_1 INTO a;
UNTIL b = 1
END REPEAT;
CLOSE cur_1;
SET return_val = a;
END;//


  我们看一下包含游标的存储过程的新例子。


上一页  2 3 4 5 6 7 8 9 10 11 12  下一页

Tags:MySQL 特性 教程

编辑录入:coldstar [复制链接] [打 印]
赞助商链接