Oracle游標學習筆記

2021-04-08 23:50:05 字數 2450 閱讀 9295

游標按以下操作進行

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 的一部分而得以實現的軟體,用來管理從資料來源返回的資料的屬性 ...