oracle包package的使用
Posted 咸咸海风
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle包package的使用相关的知识,希望对你有一定的参考价值。
创建包
包头:
CREATE OR REPLACE PACKAGE test_pkg IS
PROCEDURE update_sal(e_name VARCHAR2,newsal NUMBER); -- 定义一个函数
FUNCTION ann_income(e_name VARCHAR2) RETURN NUMBER; -- 定义一个存储过程
END;
包体:
CREATE OR REPLACE PACKAGE BODY test_pkg IS
PROCEDURE update_sal(e_name VARCHAR2,newsal NUMBER)
IS
BEGIN
UPDATE emp1 SET sal=newsal WHERE ename=e_name;
END;
FUNCTION ann_income(e_name VARCHAR2)
RETURN NUMBER IS
annsal NUMBER;
BEGIN
SELECT sal*12+NVL(comm,0) INTO annsal FROM emp1
WHERE ename=e_name;
RETURN annsal;
END;
END;
注意:文中黄色区域,包头和包体的命名要一模一样
3、调用包
内部调用:即在指的包里调用,直接调,不用写:包名.;
外部调用:包名.函数,或者包名.存过。
以上是关于oracle包package的使用的主要内容,如果未能解决你的问题,请参考以下文章
oracle - sqldeveloper 手动执行包 package的方法