ORACLE 游標基本使用

2022-06-08 03:00:12 字數 1758 閱讀 4638

如前所述,dml操作和單行select語句會使用隱式游標,它們是:

隱式游標的屬性 返回值型別   意    義   

sql%rowcount 整型 代表dml語句成功執行的資料行數

sql%found 布林型 值為true代表插入、刪除、更新或單行查詢操作成功

sql%notfound 布林型 與sql%found屬性返回值相反

sql%isopen 布林型 dml執行過程中為真,結束後為假

begin  

update test set status='n' where id=4;

if sql%found then

dbms_output.put_line('成功修改表字段狀態!!');

commit;

else

dbms_output.put_line('修改表字段狀態!');

end if;

end;

資料表:

結果:

游標的定義和操作

游標的使用分成以下4個步驟。

declare

cursor emp_cursor is select * from test t ;

begin

for emp_record in emp_cursor loop

-- 提取id和名字

dbms_output.put_line(emp_record.id ||'=='|| emp_record.name);

end loop;

end;

表結構:

結果:

案例2步驟1:輸入和執行以下程式:

declare

id number;

name varchar(20);

cursor emp_cursor is select id,name from test t ;

begin

open emp_cursor; -- 開啟游標

-- 迴圈兩次

for i in 1..2 loop

-- 取出值放到id,name

fetch emp_cursor into id, name;

dbms_output.put_line(id||'++'||name);

end loop;

close emp_cursor; -- 關閉游標

end;

表結構:

結果:

oracle 游標使用

create or replace function errortyperead return varchar2 is result varchar2 3000 type cursor type is ref cursor tempname varchar2 100 cursor testcur i...

oracle游標使用

在進行pl sql程式設計時,我們都會使用游標,游標有兩種,一種是顯式游標,使用類似如下方式 open 游標 loop fetch into exit when notfound end loop close 游標 另一種是隱式游標,使用類似如下 for 游標變數 in 游標 loop 賦值變數 游...

Oracle游標使用

一,什麼是游標 遍歷查詢結果集的一種機制。二,為什麼避免使用游標 盡量避免使用游標,因為游標的效率較差 如果使用了游標,就要盡量避免在游標迴圈中再進行表連線的操作。三,使用游標的步驟 靜態游標 1,宣告一些變數,用來儲存游標遍歷過程的臨時資料 2,宣告游標,並且指定查詢 3,開啟游標 4,從游標中獲...