oracle存儲過程----遍歷游標的方法(for、fetch、while)


create or replace procedure myprocedure is
      CURSOR CUR_TEST IS --聲明顯式游標
             SELECT ECODE,ENAME
              FROM EMP;
      CUR CUR_TEST%ROWTYPE; --定義游標變量,該變量的類型為基於游標C_EMP的記錄

    BEGIN
      --For 循環
      FOR CUR IN CUR_TEST LOOP
          --循環體
        DBMS_OUTPUT.PUT_LINE('員工編號:'||CUR.ECODE ||'員工姓名:'|| CUR.ENAME);
      END LOOP;

      --Fetch 循環
      OPEN CUR_TEST;--必須要明確的打開和關閉游標
      LOOP
        FETCH CUR_TEST INTO CUR;
        EXIT WHEN CUR_TEST%NOTFOUND;
        --循環體
        DBMS_OUTPUT.PUT_LINE('員工編號:'||CUR.ECODE ||'員工姓名:'|| CUR.ENAME);
      END LOOP;
      CLOSE C_EMP;

      --While 循環
      OPEN CUR_TEST;--必須要明確的打開和關閉游標
        FETCH CUR_TEST INTO CUR;
        WHILE CUR_TEST%FOUND LOOP 
          --循環體
          DBMS_OUTPUT.PUT_LINE('員工編號:'||CUR.ECODE ||'員工姓名:'|| CUR.ENAME);

          FETCH CUR_TEST INTO CUR;
        END LOOP;
      CLOSE C_EMP;



    END myprocedure;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM