1. 程式人生 > >PL/SQL遊標之顯示遊標操作例項講解

PL/SQL遊標之顯示遊標操作例項講解

顯式遊標

顯式遊標是程式設計師定義遊標獲得更多的控制權的上下文的區域。顯式遊標應在PL/SQL塊的宣告部分中定義。這是建立一個SELECT語句返回多行。

建立顯式遊標語法是:

CURSOR cursor_name IS select_statement;

使用顯式遊標的工作包括四個步驟:

  • 宣告遊標用於初始化在儲存器

  • 開啟遊標分配記憶體

  • 獲取遊標檢索資料

  • 關閉遊標釋放分配的記憶體

操作例項視窗:


顯示遊標使用例項原始碼:

-- Created on 2018/3/29 by E.WANG 
/*
顯式遊標是程式設計師定義遊標獲得更多的控制權的上下文的區域。
顯式遊標應在PL/SQL塊的宣告部分中定義。這是建立一個SELECT語句返回多行。
建立顯式遊標語法是:CURSOR cursor_name IS select_statement;

使用顯式遊標的工作包括四個步驟:
1.宣告遊標用於初始化在儲存器
2.開啟遊標分配記憶體
3.獲取遊標檢索資料
4.關閉遊標釋放分配的記憶體
*/
declare
    /*
    建立與屬性對應型別的變數;
    通過%獲取表屬性型別
    */
   e_empno    emp.empno%type;
   e_ename    emp.ename%type;
   e_job      emp.job%type;
   --宣告遊標定義遊標的名稱和相關的SELECT語句
   cursor cursor_emp is
      select empno, ename, job from emp;
begin
   --開啟遊標
   open cursor_emp;
   --輸出遊標中儲存的全部資料
   LOOP
      --獲取遊標中的每一行資料
      fetch cursor_emp into e_empno, e_ename, e_job;
      --當遊標不在發生變化時退出迴圈
      exit when cursor_emp%notfound;
      --輸出遊標每一行的資料
      dbms_output.put_line('employee No: ' || e_empno || '  employee Name: '|| e_ename || '  employee Position: ' || e_job);
   end loop;
   --關閉遊標來釋放分配的記憶體
   close cursor_emp;
end;

執行結果截圖: