• ADADADADAD

    MYsql-存储过程-游标的嵌套[ mysql数据库 ]

    mysql数据库 时间:2024-12-03 12:14:06

    作者:文/会员上传

    简介:

    在ITPUB:http://www.itpub.net/viewthread.php?tid=1134085&pid=13049789&page=1&extra=#pid13049789上有人发贴说游标不能嵌套,自己搞了一下,答案确实是..[@more@]create t

    以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。

    在ITPUB:http://www.itpub.net/viewthread.php?tid=1134085&pid=13049789&page=1&extra=#pid13049789上有人发贴说游标不能嵌套,

    自己搞了一下,答案确实是..

    [@more@]

    create table heyf_6 (empid int , deptid int );
    insert into heyf_6 values (1,20),(2,30),(5,20),(4,50),(6,20);

    --按DEPTID从小到大打印各个部分里的EMPID

    DROP PROCEDURE IF EXISTSproc_empid;
    DELIMITER //

    CREATE PROCEDURE proc_empid()
    BEGIN
    declare done int default 0;
    declare v_dept int ;
    declare cur_dept cursorFor select distinct deptid from heyf_6 order by deptid;
    DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
    open cur_dept;
    cursor_loop:loop
    fetch cur_dept intov_dept;
    set @dept = v_dept;
    if done=1 then leave cursor_loop ;
    end if ;
    select 'DEPT:' ,v_dept ;
    begin
    declare done1 int default 0;
    declare v_emp int;
    declare cur_emp cursorFor select empid from heyf_6 where deptid =@dept ;
    DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done1 = 1;
    open cur_emp;
    cur_loop:loop
    fetch cur_emp into v_emp ;
    if done1=1 then leave cur_loop ;
    end if ;
    select '------------',@dept,v_emp ;
    end loop cur_loop;
    close cur_emp;
    end;
    end loop cursor_loop ;
    close cur_dept;
    END ;//
    DELIMITER ;

    call proc_empid;

    MYsql-存储过程-游标的嵌套.docx

    将本文的Word文档下载到电脑

    推荐度:

    下载