隨筆-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 閱讀(377) 評論(0)  編輯  收藏 所屬分類: oracle/mysql/sql
          主站蜘蛛池模板: 吉水县| 汉沽区| 毕节市| 东乌| 普定县| 同心县| 宜君县| 神农架林区| 天水市| 伊吾县| 大新县| 翁源县| 成安县| 金乡县| 贡山| 九寨沟县| 广东省| 宁河县| 丹阳市| 承德市| 桂东县| 南雄市| 柏乡县| 镇江市| 石家庄市| 黄山市| 泽普县| 友谊县| 平邑县| 石首市| 阿图什市| 英吉沙县| 龙游县| 怀宁县| 徐州市| 余姚市| 泸州市| 乌海市| 梁河县| 霍城县| 蓝田县|