MySQL 存储过程使用 REPEAT 来打开游标读取数据
- mysql>
- mysql>
- mysql> delimiter $$
- mysql> CREATE PROCEDURE myProc (in_customer_id INT)
- -> BEGIN
- ->
- -> DECLARE l_first_name VARCHAR(30);
- -> DECLARE l_id INT;
- -> DECLARE l_city VARCHAR(30);
- -> DECLARE l_department_count INT;
- -> DECLARE no_more_departments INT;
- ->
- -> DECLARE dept_csr CURSOR FOR
- -> SELECT id,first_name, city
- -> FROM employee;
- ->
- -> DECLARE CONTINUE HANDLER FOR NOT FOUND SET no_more_departments=1;
- ->
- -> SET no_more_departments=0;
- -> OPEN dept_csr;
- -> dept_loop:REPEAT
- -> FETCH dept_csr INTO l_id,l_first_name,l_city;
- -> IF no_more_departments=0 THEN
- -> SET l_department_count=l_department_count+1;
- -> END IF;
- -> select l_id,l_first_name,l_city;
- -> UNTIL no_more_departments
- -> END REPEAT dept_loop;
- -> CLOSE dept_csr;
- -> SET no_more_departments=0;
- ->
- ->
- -> END$$
- Query OK, 0 rows affected (0.00 sec)
复制代码
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论