【mysql游标使用以及需要注意的地方】 | 您所在的位置:网站首页 › sqlsever游标 › 【mysql游标使用以及需要注意的地方】 |
Mysql游标使用
游标:用来存储查询结果集的数据类型,在存储过程和函数中可以使用游标对结果集 进行 处理 用途:mysql使用游标来遍历,相当于把select出来的结果当成了个数组, 从前至后,一个一个遍历,储过程和函数中可以使用游标对结果集 进行 处理 只能在函数或者存储过程的括号中使用,跳出则无法使用噢! 举例: 创建存储过程pr_ 注意的点: DECLARE CONTINUE HANDLER FOR NOT FOUND SET no=1; NOT FOUND 也可设置为sqlstate ‘02000’ 如: declare continue handler for sqlstate ‘02000’ set no=1; 注意这为固定格式,代表游标没有找到,或者遍历完后设置no=1 //1为true no这个名字可以自取,用于循环的条件,当全部遍历完设置为1 结束循环 分为几个步骤: 声明游标: DECLARE 游标名称 CURSOR FOR 查询语句 打开游标 OPEN 游标名称 获取游标记录 FETCH 游标名称 INTO 变量 关闭游标 CLOSE 游标名称 //使用完后得关闭 案例: 例如:我想更改name全为test,在编程语言可以用数组来遍历,而在mysql中可以使用游标来遍历 步骤如下: 创建存储过程PR_TEST_CURSOR ,把遍历并修改的过程写在存储过程中: DELIMITER // CREATE PROCEDURE pro_users() BEGIN DECLARE result VARCHAR(100); DECLARE done INT; DECLARE cur_1 CURSOR FOR SELECT name FROM my_Test; DECLARE CONTINUE HANDLER FOR NOT FOUND SET done=1; SET done=0; OPEN cur_1; WHILE done=0 do FETCH cur_1 into result; UPDATE my_Test SET name='MySQL' WHERE name=result; END WHILE; CLOSE cur_1; END; //学习网址:http://c.biancheng.net/view/7823.html |
CopyRight 2018-2019 实验室设备网 版权所有 |