1. 程式人生 > >ORACLE 通過遊標使用來了解cursor 的好處!

ORACLE 通過遊標使用來了解cursor 的好處!

有了遊標,就可以不用每條資料去檢查是否符合條件,先看一下下面的:

--遊標使用(遊標其實是一個放入記憶體臨時表)
declare
   money cms3_simcard.card_fee%type :=0; --定義與表字段相同型別
   cursor mycursor is --定義遊標
          select * from cms3_simcard
          where return_flag = 1 and msisdn like '138%';
   my_record mycursor%rowtype;  --定義遊標記錄型別
   Counter int :=0;
  
begin
   open mycursor;  --開啟遊標
   if mycursor%isopen  then  --判斷開啟成功
   loop --迴圈獲取記錄集
     fetch mycursor into my_record; --獲取遊標中的記錄
         if mycursor%found then  --遊標的found屬性判斷是否有記錄
            dbms_output.put_line(my_record.card_fee);
         else
            exit;
         end if;
   end loop;
   else
     dbms_output.put_line('遊標沒有開啟');
   end if;
  close mycursor;
end;