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

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>
            亚洲国产mv| 欧美成人中文字幕| 欧美主播一区二区三区美女 久久精品人 | 亚洲精品日韩精品| 午夜精品久久久99热福利| 久久免费高清视频| 国产区亚洲区欧美区| 欧美日韩国产va另类| 免费成人网www| 国产午夜精品久久久| 亚洲乱码国产乱码精品精| 一区二区免费在线视频| 亚洲国产岛国毛片在线| 玖玖综合伊人| 亚洲国产成人精品女人久久久 | 亚洲视频1区2区| 男男成人高潮片免费网站| 亚洲在线观看视频网站| 国产精品国产一区二区| 亚洲欧美电影院| 亚洲深夜福利网站| 国产精品理论片| 久久精品人人| 久久亚洲高清| 一区二区免费在线播放| 亚洲无线观看| 国内精品视频久久| 欧美夫妇交换俱乐部在线观看| 久久成人资源| 亚洲欧洲日产国码二区| 亚洲精品社区| 国产日产高清欧美一区二区三区| 久久九九免费视频| 欧美不卡在线| 午夜激情综合网| 久久精品视频在线看| 91久久精品久久国产性色也91| 一区二区在线看| 欧美国产日韩一区| 国产精品欧美激情| 蜜桃av一区二区| 一区二区三区 在线观看视| 国产精品第十页| 欧美91大片| 国产欧美精品一区二区色综合 | 美女诱惑黄网站一区| 欧美久久久久| 久久―日本道色综合久久| 欧美sm视频| 久久精品一区二区| 欧美视频在线一区| 亚洲福利久久| 亚洲大胆在线| 欧美一二三区在线观看| 一区二区三区不卡视频在线观看| 小黄鸭精品aⅴ导航网站入口| 亚洲剧情一区二区| 看欧美日韩国产| 久久亚洲视频| 国内精品久久久久久影视8 | 国产精品sm| 亚洲免费观看| 99国产精品久久久久老师| 亚洲黄色一区二区三区| 亚洲第一中文字幕在线观看| 国产精品午夜在线| 在线综合亚洲| 亚洲欧美日本在线| 欧美午夜不卡影院在线观看完整版免费 | 亚洲高清激情| 久久久精品tv| 你懂的视频欧美| 亚洲国产成人tv| 欧美二区在线观看| 日韩视频永久免费| 亚洲午夜激情| 国产精品一区二区三区久久 | 亚洲久久视频| 午夜精品美女自拍福到在线| 国产精品天天看| 亚洲一区日韩在线| 亚洲欧美中文日韩v在线观看| 亚洲日韩视频| 亚洲免费在线看| 国产日产精品一区二区三区四区的观看方式| 一二三区精品| 久久香蕉国产线看观看网| 在线观看久久av| 欧美日韩日本网| 欧美在线播放| 亚洲日本va午夜在线电影| 亚洲午夜精品久久| 国产欧美视频一区二区三区| 久久久久se| 亚洲一区二区在线免费观看| 麻豆av一区二区三区| 一本一本久久| 一区二区三区无毛| 国产精品久久久久久久电影| 久久国产一区二区| 99精品热视频只有精品10| 麻豆亚洲精品| 欧美在线一级va免费观看| 欧美中文字幕不卡| 国产精品99久久久久久久久| 欧美大尺度在线| 久久精品国产在热久久| 在线视频精品一区| 亚洲日本黄色| 在线日韩欧美| 国内成人在线| 国产偷久久久精品专区| 欧美日韩精品在线观看| 男同欧美伦乱| 噜噜噜躁狠狠躁狠狠精品视频| 篠田优中文在线播放第一区| 一区二区欧美精品| 99精品免费网| 中日韩男男gay无套| 99国产精品99久久久久久| 亚洲欧洲一区二区天堂久久| 免费影视亚洲| 欧美黄色大片网站| 欧美电影电视剧在线观看| 免费成人高清在线视频| 美女在线一区二区| 欧美电影免费观看高清| 亚洲国产网站| 亚洲视频在线观看免费| 亚洲女爱视频在线| 久久精品123| 裸体一区二区三区| 欧美理论片在线观看| 欧美一区二区三区视频免费| 亚洲免费成人av| 亚洲欧美日韩在线播放| 亚洲国产精品小视频| 亚洲精品日韩欧美| 亚洲欧美美女| 亚洲第一区色| 亚洲免费视频在线观看| 久久久精品国产99久久精品芒果| 噜噜噜在线观看免费视频日韩| 欧美日韩美女| 国产精品高潮呻吟久久| 国产日韩一区在线| 亚洲日本一区二区三区| 欧美一二三区精品| 亚洲激情六月丁香| 欧美中文字幕不卡| 国产精品视频一二三| 亚洲精品中文字| 美女尤物久久精品| 亚洲欧美日本日韩| 欧美激情一区二区三区在线视频观看| 国产精品国产馆在线真实露脸| 亚洲第一成人在线| 久久精品在线| 亚洲宅男天堂在线观看无病毒| 欧美.www| 亚洲国产一区二区三区在线播| 性欧美8khd高清极品| 日韩午夜电影av| 欧美屁股在线| 一区二区三区高清| 亚洲欧洲综合另类| 欧美韩国日本一区| 亚洲免费观看高清在线观看| 欧美激情精品久久久久久蜜臀 | 久久久久久电影| 亚洲摸下面视频| 国产精品免费福利| 亚欧美中日韩视频| 亚洲制服少妇| 韩国一区电影| 欧美国产在线电影| 欧美日本国产| 亚洲在线观看视频网站| 亚洲无限乱码一二三四麻| 国产精品一区二区你懂得 | 久久久久高清| 久久米奇亚洲| 999亚洲国产精| 亚洲少妇中出一区| 国产精品网站一区| 免费观看成人鲁鲁鲁鲁鲁视频| 久久在线免费观看| 亚洲免费av片| 亚洲欧美综合网| 欧美福利一区二区| 亚洲精品激情| 亚洲综合日韩在线| 国内综合精品午夜久久资源| 欧美国产视频日韩| 国产精品v欧美精品v日韩精品| 久久精品国产第一区二区三区最新章节 | 影音先锋久久精品| 日韩午夜视频在线观看| 韩国免费一区| 中文在线资源观看网站视频免费不卡|