91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Oracle與MySQL內嵌游標的使用示例

發布時間:2020-08-16 03:30:06 來源:ITPUB博客 閱讀:185 作者:WSH_AI 欄目:關系型數據庫

Oracle 游標用For循環比較簡單,MySQL也是最近才開始用,感覺稍微麻煩一點,下邊直接上代碼:

-----------------------------------------------------------
-- Oracle
-- 內嵌游標為帶參游標,參數為外游標值
-----------------------------------------------------------
DECLARE
  cursor cur_outer is select dept_id from tbl_test_dept;
  cursor cur_inner(deptid varchar2) is (SELECT user_id FROM tbl_test_user WHERE dept_id=deptid);
  BEGIN
    FOR DEPT_ITEM IN cur_outer LOOP
              --
              --
        FOR KEY_ITEM IN cur_process(DEPT_ITEM.DEPT_ID) LOOP --開始內循環
              --
              --
        END LOOP;
    END LOOP;
  commit;
END;

------------------------------
-- Mysql
-- HANDLER 只能申明一個
-- 內循環結束后需要重置done
-- 發現mysql不能直接執行begin..end,需要創建存儲過程后調用執行;
------------------------------
CREATE PROCEDURE `PROC_CURSOR_TEST`()
BEGIN
  DECLARE done INT DEFAULT FALSE;
  DECLARE item_outer VARCHAR(50);outer
  DECLARE item_inner VARCHAR(50);
  DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
  -- 定義內外游標
  DECLARE cur_outer cursor for select dept_id from tbl_test_dept;
  DECLARE cur_inner cursor for (SELECT user_id FROM tbl_test_user WHERE dept_id=item_outer);-- 查詢條件可直接用外游標變量值

  OPEN cur_outer;
  out_loop: LOOP
    fetch cur_outer into item_outer;
      IF  done THEN -- 判斷是否繼續循環
        LEAVE out_loop;
      END IF;
        --
        --
    OPEN cur_process; -- 打開內嵌游標
    inner_loop: LOOP
    fetch cur_inner into item_inner;
      IF  done THEN
        LEAVE inner_loop;
      END IF;
        --
        --
    end loop;
    CLOSE cur_inner;
    SET done = 0;  -- 關閉內游標,重置done
  end loop;
  CLOSE cur_outer;
  commit;
END;
call PROC_CURSOR_TEST(); -- 調用存儲過程
drop procedure PROC_CURSOR_TEST; --刪除

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

谷城县| 江津市| 子洲县| 佛山市| 忻州市| 韶关市| 芜湖县| 县级市| 台江县| 云和县| 大关县| 辽阳市| 达州市| 朝阳县| 开封市| 博客| 嘉兴市| 武隆县| 广灵县| 新乡县| 湖北省| 霍城县| 山东省| 通山县| 南安市| 博野县| 卫辉市| 炎陵县| 镇平县| 新郑市| 大连市| 瓦房店市| 满洲里市| 宝山区| 夏河县| 洱源县| 石棉县| 集安市| 泾源县| 天等县| 卢龙县|