游標按以下操作進行
parse 解析
bind 繫結
open 開啟
execute 執行
fetch 回取
close 關閉
1.寫自己第乙個游標pl/sql
declare
cursor c_s is select * from user_tables;
begin
open c_s; --開啟游標
close c_s;--關閉游標
end;
游標的4個屬性 %found,%notfound,%rowcount,%isopen
1.%found 游標有記錄則返回true否則false
declare
cursor c_s is select * from user_tables;
cc c_s%rowtype;
begin
open c_s; --開啟游標
fetch c_s into cc;
while c_s%found loop
fetch c_s into cc;
end loop;
close c_s;--關閉游標
end;
2.%notfound 游標沒記錄則返回true否則false(個人感覺有點多餘)
declare
cursor c_s is select * from user_tables;
cc c_s%rowtype;//游標變數
begin
open c_s; --開啟游標
fetch c_s into cc;
while c_s%found loop
exit when c_s%notfound;
end loop;
close c_s;--關閉游標
end;
3.%rowcount 返回游標取回的記錄數目
declare
cursor c_s is select * from user_tables;
cc c_s%rowtype;
begin
open c_s; --開啟游標
fetch c_s into cc;
while c_s%found loop
dbms_output.put_line(c_s%rowcount);
end loop;
close c_s;--關閉游標
end;
4.%isopen 如果游標開啟就返回true 否則false
declare
cursor c_s is select * from user_tables;
begin
if c_s%isopen then
dbms_output.put_line('cursor is open');
else
open c_s; --開啟游標
end if;
close c_s;--關閉游標
end;
游標引數
declare
cursor c_s(cs_id number) is select * from admin id=cs_id;
begin
open c_s(10); --開啟帶引數的游標
close c_s;--關閉游標
end;
游標中的for update
declare
cursor c_s is select id from admin
for update of id //查詢時鎖定 id列
begin
open c_s;
commit;//提交釋放鎖 或者可以用 rollback
close c_s;
end;
游標中的where cursor of
update table_name set set_clause where cursor of cursor_name; //更新游標所指向的那條記錄
delete from table_name where cursor of cursor_name; //刪除游標所指向的那條記錄
游標中的ref cursor型別
type c_s is ref cursor retrun table%rowtype; //這種形式為強型別 在宣告的時候就定了為行型別
type c_s is ref cursor;//弱型別 不與記錄的資料型別關聯
例子:declare
type c_s is ref cursor retrun table%rowtype;
type c_s2 is ref cursor;
var_cs c_s;//宣告為游標變數的型別
begin
open c_s for select * from admin;
close c_s;
end;
oracle學習筆記(五)游標
游標在資料庫操作中有著十分重要的作用,它簡單地說就相當於指標,針對表中檢索出來的結果進行操作,游標分為顯示游標和隱式游標。顯示游標是使用者可以自己宣告和操作的,通常用於操作查詢結果集。通過他來處理資料主要分為四步驟,首先是宣告游標,其次是開啟游標,然後讀取游標,最後關閉游標。1.宣告游標必須指定名稱...
oracle游標筆記
游標 cursor 也叫游標,在關聯式資料庫中經常使用,在pl sql程式中可以用cursor與select一起對錶或者檢視中的資料進行查詢並逐行讀取。oracle游標分為顯示游標和隱式游標。顯示游標 explicit cursor 在pl sql程式中定義的 用於查詢的游標稱作顯示游標。隱式游標 ...
oracle 游標 學習
1,什麼是游標?從表中檢索出結果集,從中每次指向一條記錄進行互動的機制。這些應用程式需要一種機制來一次處理一行或連續的幾行。而游標是對提供這一機制的結果集的擴充套件。游標是通過游標庫來實現的。游標庫是常常作為資料庫系統或資料訪問 api 的一部分而得以實現的軟體,用來管理從資料來源返回的資料的屬性 ...