隨筆 - 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)  編輯  收藏 所屬分類: 數據庫學習
          主站蜘蛛池模板: 巴林左旗| 日喀则市| 瑞丽市| 南昌县| 昌宁县| 陇南市| 昌平区| 云和县| 新民市| 芷江| 榕江县| 宁远县| 松阳县| 沙雅县| 齐齐哈尔市| 祁东县| 东乌珠穆沁旗| 郑州市| 张北县| 远安县| 民勤县| 丽水市| 儋州市| 九台市| 淳化县| 达日县| 正蓝旗| 呼伦贝尔市| 罗甸县| 武宣县| 城口县| 尼木县| 镇沅| 永济市| 新沂市| 乌拉特前旗| 天镇县| 油尖旺区| 九寨沟县| 东乡县| 江陵县|