-- 示例存储过程 CREATE PROCEDURE myProc() BEGIN DECLARE done INT DEFAULT FALSE; DECLARE name VARCHAR(20); -- 定义游标 DECLARE cur CURSOR FOR SELECT name FROM myTable; -- 声明异常处理 DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; -- 打开游标 OPEN cur; -- 循环处理结果集 myLoop: LOOP -- 获取一条记录 FETCH cur INTO name; -- 判断是否结束循环 IF done THEN LEAVE myLoop; END IF; -- 处理一条记录 SELECT CONCAT('Hello, ', name); END LOOP; -- 关闭游标 CLOSE cur; END;
以上是一个简单的存储过程示例,其中定义了一个游标用于获取myTable表中的name列,并循环遍历结果集并输出。在存储过程中使用游标可以方便地进行结果集处理,但需要注意的是游标的使用需要谨慎,因为可能会影响性能。