码迷,mamicode.com
首页 > 数据库 > 详细

oracle包package的使用

时间:2019-12-24 15:42:36      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:set   date   from   acl   nsa   replace   news   varchar2   select   

创建包

包头

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的使用

标签:set   date   from   acl   nsa   replace   news   varchar2   select   

原文地址:https://www.cnblogs.com/651434092qq/p/12091640.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!