程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> 關於Oracle數據庫 >> Oracle Cursors語法總結

Oracle Cursors語法總結

編輯:關於Oracle數據庫

  一.Oracle的Cursors概念:

  游標:用來查詢數據庫,獲取記錄集合(結果集)的指針,可以讓開發者一次訪問一行結果集,在每條結果集上作操作。

  二.Oracle的Cursors分類:

  1.靜態游標:

  分為顯式游標和隱式游標。

  2.REF游標:

  是一種引用類型,類似於指針。

  三.Oracle的Cursors詳細內容:

  1.顯式游標:

  CURSOR游標名(參數) [返回值類型] IS

  Select語句

  生命周期:

  a.打開游標(OPEN)

  解析,綁定。。。不會從數據庫檢索數據

  b.從游標中獲取記錄(FETCH INTO)

  執行查詢,返回結果集。通常定義局域變量作為從游標獲取數據的緩沖區。

  c.關閉游標(CLOSE)

  完成游標處理,用戶不能從游標中獲取行。還可以重新打開。

  選項:參數和返回類型

set serveroutput on
declare
cursor emp_cur ( p_deptid in number) is
select * from employees where department_id = p_deptid;
l_emp employees%rowtype;
begin
dbms_output.put_line('Getting employees from department 30');
open emp_cur(30);
loop
 fetch emp_cur into l_emp;
 exit when emp_cur%notfound;
 dbms_output.put_line('Employee id '|| l_emp.employee_id || ' is ');
 dbms_output.put_line(l_emp.first_name || ' ' || l_emp.last_name);
end loop;
close emp_cur;
dbms_output.put_line('Getting employees from department 90');
open emp_cur(90);
loop
 fetch emp_cur into l_emp;
 exit when emp_cur%notfound;
 dbms_output.put_line('Employee id '|| l_emp.employee_id || ' is ');
 dbms_output.put_line(l_emp.first_name || ' ' || l_emp.last_name);
end loop;
close emp_cur;
end;
/

  • 首頁
  • 上一頁
  • 1
  • 2
  • 3
  • 下一頁
  • 尾頁
  • 共3頁
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved