夢幻之旅

          DEBUG - 天道酬勤

             :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            671 隨筆 :: 6 文章 :: 256 評論 :: 0 Trackbacks
          oracle 是用于邏輯組合多個過程或函數.
          一個oracle包包含兩部份:
          1.包規范
             相當于java里的接口.
          -- 包規范
          CREATE OR REPLACE PACKAGE pkg_edm
          IS
             age 
          NUMBER := 30;
             
          PROCEDURE  add_test_hui(
                 in_id 
          IN NUMBER
                 in_value 
          IN VARCHAR2);
             
          FUNCTION getValueById(
                 in_id 
          IN NUMBERRETURN VARCHAR2;
          END pkg_edm;
          2.包體
             相當于java里的接口實現類.
          -- 包體
          CREATE OR REPLACE PACKAGE BODY pkg_edm
          IS
              
          -- 查詢函數
              FUNCTION getValueById(
                 in_id 
          IN NUMBERRETURN VARCHAR2
              
          IS
                  rtn_value 
          VARCHAR2(64) := '';
              
          BEGIN
                
          SELECT VALUE INTO rtn_value FROM test_hui WHERE ID=in_id;
                
          RETURN rtn_value;
              EXCEPTION
                
          WHEN OTHERS THEN
                  
          RETURN rtn_value;
              
          END getValueById;
              
              
          -- 插入記錄過程
              PROCEDURE  add_test_hui(
                 in_id 
          IN NUMBER
                 in_value 
          IN VARCHAR2)
              
          IS
              
          BEGIN
                 
          INSERT INTO test_hui (ID,VALUE) VALUES(in_id,in_value);
                 
          COMMIT;
              
          END add_test_hui;
          END pkg_edm;

          包的調用:
          1.測試調用包過程
          --測試調用包過程
          BEGIN
            pkg_edm.add_test_hui(
          99999,'asdfasdf');
          END;

          2.測試調用包函數
          --測試調用包函數
          DECLARE
             temp_value 
          VARCHAR2(64);
          BEGIN
            temp_value :
          = pkg_edm.getValueById(8713);
            dbms_output.put_line(temp_value);
          END;

          posted on 2011-07-14 12:32 HUIKK 閱讀(956) 評論(0)  編輯  收藏 所屬分類: DataBase
          主站蜘蛛池模板: 车致| 德格县| 琼海市| 博乐市| 罗城| 昭通市| 福清市| 遵义市| 武隆县| 延安市| 陈巴尔虎旗| 金秀| 尚志市| 子洲县| 金寨县| 怀集县| 孝义市| 临清市| 新田县| 万源市| 黄浦区| 霍邱县| 和龙市| 河津市| 望都县| 子长县| 胶州市| 辽阳市| 新营市| 宁明县| 平和县| 乌鲁木齐县| 留坝县| 宁国市| 正宁县| 舒兰市| 分宜县| 隆昌县| 库尔勒市| 永康市| 东阿县|