隨筆 - 100  文章 - 50  trackbacks - 0
          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          常用鏈接

          留言簿(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 閱讀(416) 評論(0)  編輯  收藏 所屬分類: 數據庫學習
          主站蜘蛛池模板: 开江县| 成武县| 黄龙县| 莱芜市| 分宜县| 左贡县| 信宜市| 贡山| 赤峰市| 吉首市| 廉江市| 乐昌市| 宝丰县| 井陉县| 清涧县| 石渠县| 潢川县| 肇庆市| 安达市| 兴隆县| 从江县| 枝江市| 扬州市| 甘谷县| 华阴市| 安化县| 岱山县| 都兰县| 洪泽县| 皮山县| 巧家县| 肃北| 北碚区| 朝阳市| 布拖县| 江城| 怀安县| 周宁县| 尉氏县| 巨野县| 渝中区|