sql mysql如何在存储函数中循环选择查询的游标

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql mysql如何在存储函数中循环选择查询的游标相关的知识,希望对你有一定的参考价值。

drop function TodasTareasCerradas;
delimiter $$
create function TodasTareasCerradas(n_nroorden int)
returns integer
BEGIN
declare nregs int default 0;
declare ncerr int default 0;
declare a1 int;
declare a2 int;
declare a3 int;
declare a4 int;
DECLARE accion INT DEFAULT FALSE;
DECLARE cur1 CURSOR FOR select nroorden, service, tarea, (select count(*) from operserv o where o.nroorden= o1.nroorden and o.service=o1.service and o.tarea=o1.tarea and estado='C' ) as cant_cerr from ordserv1 o1 where o1.nroorden=n_nroorden;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET accion = TRUE;
OPEN cur1;
my_loop: REPEAT
    FETCH cur1 INTO a1,a2,a3,a4;
    set ncerr=ncerr + a4; 
    set nregs=nregs + 1;
until accion
END REPEAT my_loop;
CLOSE cur1;
if ncerr<>nregs then
    return 0;
else
    return 1;
end if; 

END
$$
delimiter ;

以上是关于sql mysql如何在存储函数中循环选择查询的游标的主要内容,如果未能解决你的问题,请参考以下文章

MySQL 查询树结构循环查询查看函数视图存储过程

mysql-学习笔记1

01基础架构,一条SQL查询语句是如何执行的?

一条SQL查询语句是如何执行的

mysql日期函数及批量循环返回主键ID

如何在sql server用户定义函数中循环查询结果集?