PL/SQL 中的包

1:包的概述

PL/SQL中将相关对象存储到一起的一种结构形式

相关对象:变量、游标、异常、存储过程、函数

2:包的组成

包头(包规范):包含包相关信息的声明,不含有任何子程序代码

包体:与包头分离,包头编译通过后才有可能编译通过,含有程序代码

3:包头

包头语法:

    CREATE [OR REPLACE] PACKAGE BODY package_name
        AS | IS
               global variables ;
               procedures;
               functions;
                …
    BEGIN
               initialize statement;
    END  [package_name];

事例:创建包头

create or replace package calc is
  function funcadd(x number, y number) return number;
  function funcsub(x number, y number) return number;
end calc;

4:包体
事例:创建包体

create or replace package body calc is
  function funcadd(x number, y number) return number is
    result number := 0;
  begin
    result := x + y;
    return result;
  end;

  function funcsub(x number, y number) return number is
    result number := 0;
  begin
    result := x - y;
    return result;
  end;
end calc;

5:使用包

使用格式:
package_name.member_name[(arg1, …)]

事例:

begin
  dbms_output.put_line(calc.funcadd(1, 3));
  dbms_output.put_line(calc.funcsub(1, 3));
end;

你可能感兴趣的:(数据库,plsql,函数)