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

来源:mysql 作者:AB;翻译:陈朋奕 2007-09-24 出处:pcdog.com

java  mysql安全  存储过程  错误代码  
上一页 1 2 3 4 5 6 7 8 9 10 11 12 下一页 


4. DECLARE CONDITION

mysql> 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;//


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



更多内容请看PCdog.com--Fireworks教程  mysql 存储过程  MySQL数据备份专题
上一页 1 2 3 4 5 6 7 8 9 10 11 12 下一页 
上一篇:MySQL实现表中取出随机数据
下一篇:MySQL 5.0 新特性教程 存储过程:第三讲