如前所述,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,從游標中獲...