ITPub博客

首页 > 数据库 > MySQL > mySQL 中的游标简单使用

mySQL 中的游标简单使用

MySQL 作者:niuchao 时间:2019-06-11 17:51:06 0 删除 编辑
例一:

DELIMITER $$  
  
DROP PROCEDURE IF EXITS cursor_example$$  
CREATE PROCEDURE cursor_example()  
     READS SQL DATA  
BEGIN  
     
DECLARE l_employee_id INT;  
     
DECLARE l_salary NUMERIC(8,2);  
     
DECLARE l_department_id INT;  
     
DECLARE done INT DEFAULT 0;  
     
DECLARE cur1 CURSOR FOR SELECT employee_id, salary, department_id FROM employees;  
     
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done=1;  
  
     
OPEN cur1;  
     emp_loop: LOOP  
         
FETCH cur1 INTO l_employee_id, l_salary, l_department_id;  
         
IF done=1 THEN  
             LEAVE emp_loop;  
         
END IF;  
     
END LOOP emp_loop;  
     
CLOSE cur1;  
END$$  
DELIMITER ;  



例二:

DELIMITER //
DROP PROCEDURE IF EXISTS test //
CREATE PROCEDURE test()
BEGIN
    DECLARE done INT DEFAULT 0;
    DECLARE a VARCHAR(200) DEFAULT '';
    DECLARE c VARCHAR(200) DEFAULT '';
    
    DECLARE mycursor CURSOR FOR SELECT  fusername FROM uchome_friend;
    DECLARE CONTINUE HANDLER FOR NOT FOUND SET done=1;
    
    OPEN mycursor;
    
    REPEAT 
        FETCH mycursor INTO a;
        IF NOT done THEN
            SET c=CONCAT(c,a);/*字符串相加*/
        END IF;
        
    UNTIL done END REPEAT;
    
    CLOSE mycursor;
    
    SELECT c;
END //
DELIMITER ;

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/166523/viewspace-1061539/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: ping 功能
请登录后发表评论 登录
全部评论

注册时间:2004-11-04

  • 博文量
    141
  • 访问量
    136177