| 導購 | 订阅 | 在线投稿
分享
 
 
 

用一個實例講解DB2數據庫遊標循環的問題

來源:互聯網  2008-06-01 06:45:46  評論

本文中的存儲過程示例,預計的循環次數是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;

本文中的存儲過程示例,預計的循環次數是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;
󰈣󰈤
王朝萬家燈火計劃
期待原創作者加盟
 
 
 
>>返回首頁<<
 
 
 
 
 熱帖排行
 
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有