创建包头¶
语法:
create_package ::=
cursor_spec ::=
param_decls ::=
param_decl ::=
function_spec ::=
procedure_spec ::=
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;