隨筆 - 100  文章 - 50  trackbacks - 0
          <2025年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          收藏夾

          我收藏的一些文章!

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          最近學習oracle存儲過程時發現的一個問題,就是傳入的變量命名不能跟要執行的數據表的字段一樣,如果一樣的話,
          可能會導致傳入的參數起不了用處。例子如下:
          建立一個表:
          -- Create table
          create table T_TEST12
          (
            ID NUMBER,
            NO VARCHAR2(60)
          );
          往這個表里面插入一些數據,

          insert into t_test12 (ID, NO)
          values (1, 'lin');

          insert into t_test12 (ID, NO)
          values (2, '13800162');

          insert into t_test12 (ID, NO)
          values (3, '13800163');

          insert into t_test12 (ID, NO)
          values (4, '13800164');

          insert into t_test12 (ID, NO)
          values (5, '13800165');

          insert into t_test12 (ID, NO)
          values (6, '13800166');

          編寫一個刪除的存儲過程,
           create or replace procedure delete_test(id in number) is  --變量名稱id跟數據庫的字段一樣
          begin
            delete from t_test12 where id =id;
            commit;
          end delete_test;
          執行以下操作:
          exec delete_test(1); 執行完后,發現并不是只刪除了id為1的數據,
          而是把整個表的數據都刪除了,如果要想得到相應的結果,則變量
          的命名不能跟表的字段名一樣。比如如下:
          create or replace procedure delete_test(is_del_id in number) is  --變量名稱id跟數據庫的字段一樣
          begin
            delete from t_test12 where id =is_del_id;
            commit;
          end delete_test;


          posted on 2010-05-19 14:54 fly 閱讀(411) 評論(0)  編輯  收藏 所屬分類: 數據庫學習
          主站蜘蛛池模板: 玛多县| 沛县| 西林县| 德钦县| 襄汾县| 衡阳市| 昭通市| 泽普县| 龙川县| 马山县| 长汀县| 怀集县| 郧西县| 光泽县| 墨江| 醴陵市| 肇州县| 赣州市| 沈阳市| 仁化县| 大化| 靖宇县| 澄江县| 盐池县| 阿鲁科尔沁旗| 崇明县| 神农架林区| 武隆县| 玉门市| 黔东| 海盐县| 宁德市| 来安县| 丹江口市| 罗田县| 彭泽县| 星子县| 涟水县| 右玉县| 喀喇沁旗| 山丹县|