PL/SQL中package的创建

来源:互联网 发布:sem优化培训 编辑:程序博客网 时间:2024/06/08 19:21

  创建包

  --------------

  /*

  用于逻辑组合相关的过程和函数,他由包规范和包体两部分组成,

  包规范用语定义公用的常量,变量,过程和函数,

  包体则用于实现包规范中的过程和函数

  */

  --创建包

  CREATE PACKAGE emp_pkg IS

  --包中用于存储函数和过程

  PROCEDURE update_sal(pname VARCHAR2,newsal NUMBER);

  FUNCTION annual_income(pname VARCHAR2) RETURN NUMBER;

  END;

  /

  -----------------------

  创建包体

  ------------------

  /*

  创建包的包体

  */

  CREATE PACKAGE BODY emp_pkg IS

  --存储过程

  PROCEDURE update_sal(pname VARCHAR2,newsal NUMBER)

  IS

  BEGIN

  UPDATE emp SET sal= newsal

  WHERE lower(ename)= lower(pname);

  END;

  --存储函数

  FUNCTION annual_income(pname VARCHAR2) RETURN NUMBER

  IS

  --用于返回这个变量

  annual_salary NUMBER(7,2);

  BEGIN

  SELECT sal*12+nvl(comm,0) INTO annual_salary

  --lower 是用于比较String相等。

  FROM emp WHERE lower(ename)= lower(pname);

  --返回值

  RETURN annual_salary;

  END;

  END;

  /

From 阜和教育

0 0