源头:赛迪网 作者:小桥
本文中的存储进程示例,预计的轮回次数是yh表行数,由于SELECT IID INTO PINT FROM YH WHERE 0=1;不前往任何行,所以at_end后会立即等于1(只轮回一次就加入)。
DECLARE at_end INT DEFAULT 0; DECLARE PIID INTEGER DEFAULT 0 ; DECLARE PINT INTEGER DEFAULT 0 ; DECLARE not_found CONDITION FOR SQLSTATE '02000'; --DECLARE PCOUNT INTEGER; DECLARE c1 CURSOR FOR SELECT IID FROM YH; DECLARE CONTINUE HANDLER FOR not_found SET at_end = 1; OPEN c1; SET PCOUNT=0; ins_loop: LOOP FETCH c1 INTO PIID; IF at_end <>0 THEN LEAVE ins_loop; END IF; SET PCOUNT=PCOUNT 1; SELECT IID INTO PINT FROM YH WHERE 0=1; END LOOP;
版权声明: 原创作品,容许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。不然将追究法律责任。