梦幻之旅

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 阅读(938) 评论(0)  编辑  收藏 所属分类: DataBase

只有注册用户登录后才能发表评论。


网站导航: