隨筆 - 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)  編輯  收藏 所屬分類: 數據庫學習
          主站蜘蛛池模板: 沭阳县| 昌宁县| 军事| 海南省| 九龙县| 洪雅县| 巴林右旗| 松溪县| 龙门县| 柞水县| 环江| 古浪县| 曲阳县| 平安县| 凤庆县| 海丰县| 永泰县| 逊克县| 呼伦贝尔市| 平昌县| 宁海县| 佛教| 临高县| 新巴尔虎左旗| 兴化市| 金阳县| 微山县| 西安市| 上蔡县| 晋宁县| 沈阳市| 利川市| 新平| 凌海市| 绍兴市| 通城县| 玉林市| 自治县| 镇原县| 花莲县| 南投市|