oracle中的游標分為顯式游標和隱式游標。
隱式游標是系統自動為你建立的。
顯式游標是使用者通過建立cursor的方式來建立。
在oracle中有三種型別的游標:
1)不帶引數的游標
eg:
cursor customer_cur is
select * from customer
s;
2)帶引數的游標
eg:
cursor customer_cur(customer_id in number) is
select * from customers
where customerid = customer_id;
3)有返回結果的游標
eg:
cursor customer_cur return customers%rowtype is
select * from customers;
游標的五大屬性:
1)%found - 記錄找到
2) %notfound - 記錄沒找到
3) %rowcount - 游標當前記錄數
(每取回一條記錄,rowcount將增加1)
4) %isopen - 游標是否被開啟
5) %rowtype - 代表游標取回的某一行記錄
游標使用四大步驟:
1) 宣告游標
cursor is select語句
2) 開啟游標
open 游標名
3) 從游標中取回資料
fetch 游標名 into 行記錄變數
4) 關閉游標
close 游標名
下面我們就來舉個例子:
declare
--宣告游標
cursor
customer_cur(city_in
char
) is
select
*from
customers
where
city
=city_in;
customer_rec customer_cur
%rowtype;
begin
--開啟游標
ifnot
customer_cur
%isopen
then
open
customer_cur(
'madrid');
endif;--
從游標中取回資料
fetch
customer_cur
into
customer_rec;
/*使用游標
*/while
customer_cur
%found
loop
dbms_output.put_line(to_char(customer_cur
%rowcount
) ||':
'||customer_rec.customerid ||'
, '||customer_rec.city);
fetch
customer_cur
into
customer_rec;
endloop;
--關閉游標
close
customer_cur;
end;
PL SQL語法 游標
oracle中的游標分為顯式游標和隱式游標。隱式游標是系統自動為你建立的。顯式游標是使用者通過建立cursor的方式來建立。在oracle中有三種型別的游標 1 不帶引數的游標 eg cursor customer cur is select from customer s 2 帶引數的游標 eg ...
PL SQL語法之游標
本文介紹的是oracle中的游標型別有哪些,以及如何定義和使用各種型別的游標。在oracle中,游標可以分為顯示游標和隱式游標。先說隱式游標,隱式游標沒有語法上的定義,但在使用上卻是使用了游標的特性,所以被稱作隱式游標 顯示游標則又可以分為靜態游標,和動態游標 也稱ref游標 而動態游標又可以進一步...
pl sql游標 PL SQL游標 1
pl sql游標 游標 隱式游標 sql返回單行。由oracle server建立。顯式游標 sql重新調整多個記錄行。由使用者建立。游標生命週期 宣告 開啟 獲取 檢查最後一條記錄 關閉 基本語法 declare cursor cursorname param1,param2,is select ...