创建包头

语法:

create_package ::=

variable_declaration ::=

cursor_spec ::=

param_decls ::=

param_decl ::=

function_spec ::=

procedure_spec ::=

exception_declaration ::=

func_parm_decls ::=

func_parm_decl ::=

参数:

AUTHID {CURRENT_USER | DEFINER}

AUTHID CURRENT_USER和AUTHID DEFINER选项说明应用程序在调用包时所使用的权限模式。若不指定AUTHID参数,则调用权限验证默认是DEFINER,也就是在包中对象被调用时,以这个包的创建者的身份来验证存取权限;如果指定AUTHID为CURRENT_USER,则在包中对象被调用时,根据调用者的身份来验证存取权限。

variable_declaration变量、常量声明语句,暂时不支持行类型、记录等集合类型和自定义类型。

function_spec函数声明,允许重载。

procedure_spec过程声明,允许重载。

exception_declaration异常声明,捕捉运行包时产生的异常。

说明:

包中函数和过程的创建请参照存储过程的创建和修改。

包中函数和过程的参数个数都不超过1024。

示例:创建包头

--  清理环境
DROP PACKAGE pac;

CREATE OR REPLACE PACKAGE pac AS
    var INT; --变量
    const_var CONSTANT VARCHAR(80) := 'Hello World!'; --常量
    FUNCTION fun(a INT) RETURN FLOAT; --函数
    FUNCTION fun(a INT, b INT) RETURN FLOAT; --函数重载
    PROCEDURE pro(p FLOAT); --过程
    PROCEDURE pro(p FLOAT, c VARCHAR); --过程重载
    invalid_rad EXCEPTION; --异常
END pac;
/

--删除包
DROP PACKAGE pac;