程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> Oracle學習筆記16--游標(PL/SQL)

Oracle學習筆記16--游標(PL/SQL)

編輯:Oracle教程

在PL/SQL程序中,對於處理多行記錄的事務經常使用游標來實現。當執行查詢語句或者數據操縱語句是,一般可能會產生或者處理一組記錄。游標是為了處理這些記錄而分配的一段內存區。

游標分為:顯示游標和隱示游標。當記錄集中只有單行數據時,系統自動的進行定義右邊,稱為隱示游標。記錄集中含有多行數據時,需要用戶自己定義游標,稱為顯示游標。下面分別進行介紹。

顯示游標

顯示游標的處理需四個使用步驟:

1.定義游標:

就是定義一個游標名,以及與其對應的select 語句。

格式:

CURSOR cursor_name is select_statement 。

2.打開游標:

游標定義之後,要使用游標中的數據,就要打開游標。使用OPEN打開游標。游標只能打開一次。

格式:

OPEN cursor_name 。

3.提取游標數據:

檢索游標結果集中的數據,放入指定的變量之中。

格式:

FETCH cursor_name INTO variable_name 。

4.關閉游標:

游標使用完成之後,應該及時的關閉游標,將系統資源釋放。

格式:

CLOSE cursor_name 。

游標屬性

%found :布爾型,判斷最近一次執行fetch語句後,是否從緩沖區中提取到數據,如果提取到數據,返回TURE,否則返回false。

%notfound:布爾型,與%found相反,沒有提取到數據返回true,否則返回false。

%ISOPEN :布爾型,當游標打開的時候返回true。

%ROWCOUNT:數字型,放回已從游標中讀取的記錄數。

例:使用游標數據10號部門的員工工資。

declare
--定義變量
v_sal emp.sal%type ;
--定義游標
cursor emp_sal_cursor is select sal from emp where deptno = 10 ;

begin
--打開游標
open emp_sal_cursor ;
--提起游標信息
fetch emp_sal_cursor into v_sal ;
while emp_sal_cursor%found loop
dbms_output.put_line(v_sal);
fetch emp_sal_cursor into v_sal ;
end loop ;
--關閉游標
close emp_sal_cursor;
end ;

例:使用記錄類型和游標檢索數據

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved