青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Prayer

在一般中尋求卓越
posts - 1256, comments - 190, trackbacks - 0, articles - 0
  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

一個反映DB2 游標的經典問題

Posted on 2010-03-18 22:56 Prayer 閱讀(497) 評論(0)  編輯 收藏 引用 所屬分類: DB2

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

 

http://www.souzz.net/html/database/DB2/69884.html

 

CREATE PROCEDURE bump_salary_iftest (IN deptnumber SMALLINT)
LANGUAGE SQL
BEGIN
  DECLARE SQLSTATE CHAR(5);
  DECLARE v_salary DOUBLE;
  DECLARE v_years SMALLINT;
  DECLARE v_id SMALLINT;
  DECLARE at_end INT DEFAULT 0;
  DECLARE not_found CONDITION FOR SQLSTATE '02000';

  DECLARE C1 CURSOR FOR
    SELECT id, CAST(salary AS DOUBLE), years
    FROM staff;
  DECLARE CONTINUE HANDLER FOR not_found
    SET at_end = 1;

  OPEN C1;
  FETCH C1 INTO v_id, v_salary, v_years;
  WHILE at_end = 0 DO

      UPDATE staff
        SET salary = 2150 * v_years
        WHERE id = -1;

    FETCH C1 INTO v_id, v_salary, v_years;
  END WHILE;
  CLOSE C1;
END

請問,我想讓這個循環執行完,但是由于SET salary = 2150 * v_years
        WHERE id = -1 更新的數據為0條,at_end變量就被置為1,從而導程序跳出循環,我如何做,能夠及時更新數據為0行
,而循環還能繼續下去呢,請高手指點
                                                              


解決方案:

可以先計算循環次數,根據這個數值進行循環 :

CREATE  PROCEDURE  bump_salary_iftest(IN deptnumber SMALLINT,out iReturn int)
LANGUAGE  SQL
BEGIN
      DECLARE  SQLSTATE  CHAR(5);
      DECLARE  v_salary  DOUBLE;
      DECLARE  v_years  SMALLINT;
      DECLARE  v_id  SMALLINT;
      DECLARE  at_end  INT  DEFAULT  0;
      DECLARE  not_found  CONDITION  FOR  SQLSTATE  '02000';
     
      Declare  v_temp int;

      DECLARE  C1  CURSOR  FOR
          SELECT  id,  CAST(salary  AS  DOUBLE),  years
          FROM  staff;
      DECLARE  CONTINUE  HANDLER  FOR  not_found
          SET  at_end  1;
         
      -- get the loop number
  select count(*) into v_temp from staff;
  set iReturn =0;
      OPEN  C1;
      FETCH  C1  INTO  v_id,  v_salary,  v_years;
      WHILE  v_temp>0  DO
            -- out the iReturn to check the result
set iReturn =iReturn+1;
            UPDATE  staff
                  SET  salary  2150  v_years
                  WHERE  id  -1;
          FETCH  C1  INTO  v_id,  v_salary,  v_years;
          set v_temp = v_temp-1;
      END  WHILE;
      CLOSE  C1;
END@
 
 
http://topic.csdn.net/u/20071214/14/2c93b395-76c6-4a9d-b017-6733562edcfa.html

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美日韩精品系列| 午夜精品福利在线| 欧美亚洲一区在线| 亚洲欧美一区二区在线观看| 亚洲天堂男人| 香蕉尹人综合在线观看| 午夜精品久久久久| 欧美在线一区二区三区| 久久亚洲精品网站| 亚洲国产精品成人一区二区 | 久久国产免费看| 欧美在线三区| 欧美国产精品va在线观看| 亚洲精品中文字幕在线观看| 亚洲欧美日韩在线| 麻豆精品精品国产自在97香蕉| 欧美绝品在线观看成人午夜影视 | 欧美fxxxxxx另类| 亚洲精品一区中文| 欧美在线视频在线播放完整版免费观看 | 欧美一区二区在线免费播放| 久久久久在线| 亚洲国产另类精品专区| 亚洲永久在线| 欧美激情在线免费观看| 国产色视频一区| 亚洲精品久久7777| 欧美专区在线| 亚洲免费久久| 欧美成人一二三| 国产日韩欧美精品| 一本色道久久88亚洲综合88| 久久综合久久88| 亚洲在线视频网站| 欧美日韩xxxxx| 亚洲国产成人不卡| 欧美在线999| 日韩视频在线观看国产| 毛片一区二区三区| 黄色亚洲免费| 久久久久综合网| 性欧美1819性猛交| 国产精品日韩欧美| 亚洲一区精品在线| 亚洲黄网站在线观看| 久久综合色影院| 狠狠色综合日日| 久久青青草综合| 欧美在线亚洲在线| 国产一区二区欧美日韩| 欧美一区二区三区视频在线 | 欧美不卡高清| 亚洲成色777777在线观看影院| 欧美一区成人| 亚洲欧美另类综合偷拍| 国产精品每日更新| 亚洲字幕一区二区| 亚洲一二三区在线观看| 国产精品久久久久久久7电影 | 久久一二三区| 好吊一区二区三区| 久热re这里精品视频在线6| 久久av在线| 伊人色综合久久天天| 美女性感视频久久久| 久久久精品久久久久| 亚洲电影免费观看高清完整版在线观看 | 在线视频亚洲| 一区二区日韩精品| 国产精品劲爆视频| 欧美一区二区三区免费看| 香蕉乱码成人久久天堂爱免费| 国产嫩草一区二区三区在线观看 | 激情成人在线视频| 欧美阿v一级看视频| 免费在线观看成人av| 亚洲免费观看视频| 一区二区三区日韩在线观看| 国产麻豆精品久久一二三| 久久精品人人爽| 免费精品视频| 亚洲免费在线播放| 欧美一区二区高清在线观看| 国内成+人亚洲+欧美+综合在线| 免费人成网站在线观看欧美高清 | 久久九九免费视频| 亚洲精品乱码| 亚洲愉拍自拍另类高清精品| 国产一区二区三区在线观看精品| 麻豆久久婷婷| 国产精品久久久久9999| 免费影视亚洲| 国产精品久久久久久久久借妻| 久久美女性网| 国产精品成人一区二区| 免费亚洲电影在线| 国产精品久久久久影院色老大| 免费在线观看成人av| 国产精品大片wwwwww| 欧美v日韩v国产v| 欧美天天在线| 亚洲电影欧美电影有声小说| 国产精品免费观看视频| 亚洲成在线观看| 国产一区二区高清| 亚洲日韩中文字幕在线播放| 国产一区二区视频在线观看| 亚洲精品久久久久久久久久久| 国产日韩欧美日韩大片| 亚洲精品一区二区三区四区高清 | 久久伊人精品天天| 香蕉久久久久久久av网站| 美女主播一区| 欧美一区二区在线视频| 欧美日韩小视频| 欧美激情视频免费观看| 国产亚洲综合精品| 亚洲午夜影视影院在线观看| 99re6这里只有精品| 久久综合九色综合久99| 久久国产色av| 国产欧美日韩一区| 亚洲午夜一区二区三区| 中文一区字幕| 欧美午夜不卡在线观看免费 | 午夜视频久久久久久| 亚洲综合另类| 国产精品大片免费观看| 亚洲另类一区二区| 日韩午夜在线| 欧美日本簧片| 99视频精品全国免费| 99re6热在线精品视频播放速度| 久久综合中文色婷婷| 免费中文字幕日韩欧美| 亚洲第一色在线| 久久精品夜色噜噜亚洲aⅴ| 久久久久综合一区二区三区| 国模精品一区二区三区| 久久精品一二三| 欧美成人在线免费观看| 亚洲国产高潮在线观看| 欧美电影在线观看| 亚洲精品国产精品乱码不99按摩 | 国产精品一区二区久激情瑜伽| 亚洲图片欧美一区| 欧美一区二区黄| 国产一区久久| 另类国产ts人妖高潮视频| 欧美不卡在线| 亚洲精选视频免费看| 欧美日韩美女在线| 小嫩嫩精品导航| 欧美高清一区二区| 亚洲午夜在线观看| 国产一区二区三区在线观看精品| 久久久噜噜噜| 亚洲啪啪91| 久久gogo国模裸体人体| 亚洲韩国一区二区三区| 欧美视频一区二区三区…| 欧美亚洲免费| 91久久久精品| 久久久99精品免费观看不卡| 亚洲成人在线视频网站| 欧美女激情福利| 午夜视频在线观看一区二区三区| 免费成人黄色片| 亚洲制服欧美中文字幕中文字幕| 国产日本欧美在线观看 | 国产午夜精品久久| 欧美国产日韩亚洲一区| 亚洲免费中文| 亚洲激情网址| 久久网站免费| 午夜精品在线视频| 亚洲麻豆av| 韩国免费一区| 国产精品久久久久国产精品日日| 久久久久一区二区三区| 国产精品99久久久久久久女警 | 免费看黄裸体一级大秀欧美| 日韩午夜av电影| 欧美国产1区2区| 久久国产精品黑丝| 这里只有精品视频在线| …久久精品99久久香蕉国产| 国产精品高潮在线| 欧美国产综合一区二区| 久久精品五月| 性欧美激情精品| 亚洲永久免费| 亚洲天堂偷拍| 一区二区三区波多野结衣在线观看| 亚洲电影视频在线| 欧美大片免费观看| 久久一区亚洲| 久久精品中文字幕一区二区三区| 亚洲永久网站| 亚洲欧美日韩中文视频|