隨筆-124  評論-49  文章-56  trackbacks-0
          --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語句
          */
          posted on 2010-07-29 17:13 junly 閱讀(372) 評論(0)  編輯  收藏 所屬分類: oracle/mysql/sql
          主站蜘蛛池模板: 惠东县| 汉沽区| 南涧| 平原县| 垦利县| 丽江市| 仙游县| 绥中县| 资中县| 永康市| 盈江县| 沈丘县| 岫岩| 图们市| 西昌市| 上高县| 名山县| 民和| 瑞昌市| 丰城市| 平邑县| 宣恩县| 阿荣旗| 卢龙县| 龙游县| 泰州市| 巍山| 惠东县| 武穴市| 六安市| 河津市| 南江县| 高陵县| 海丰县| 丹东市| 丽江市| 克山县| 乐山市| 馆陶县| 慈溪市| 邛崃市|