oracle遊標

--SQL遊標
--
遊標:是指向上下文區的指針
/**//*
  1 隱含遊標
    隱含遊標又稱SQL遊標,專門用於處理SELECT INTO,INSERT,UPDATE及DELETE語句,當在PL/SQL中執行
    INSERT,UPDATE及DELETE時,爲取得DML語句作用的結果,必須要使用SQL遊標屬性,SQL遊標包括sql%found,
    sql%notfound,sql%rowcount,sql%isopen四個屬性。
    (1)sql%isopen 用日元確定SQL遊標是否已經打開,當執行SELECT INTO,INSERT,UPDATE及DELETE語句時會隱
         含打開遊標,並且在執行完成後隱含關閉遊標。所以對於開發人員該屬性永遠爲false,不需要使用該屬性。
    (2)sql%found/sql%notfound 用於確定SQL語句執行是否成功。
         SQL語句執行是否成功根據是否有作用來判斷,當SQL語句有作用時,sql%found屬性值爲TRUE(sql%notfound屬性值爲FALSE);否則反之。
*/

         
declare
           v_name user_info.name
%type := 'junly';
         
begin
           
update user_info set money = money*1.1
           
where name=v_name;
           
if sql%found then
             dbms_output.put_line(
'語句執行成功');
           
else
             dbms_output.put_line(
'用戶名不存在');
           
end if;
         
end;
--   (3)sql%rowcount 返回SQL語句作用的總計行數
         declare
           v_name user_info.name
%type := 'junly';
         
begin
           
update user_info set money = money*1.1
           
where name=v_name;
           dbms_output.put_line(
'修改了'||sql%rowcount||'');
         
end;
/**//*2 顯式遊標
       用於處理SELECT語句
*/
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章