设为首页 加入收藏

TOP

Oracle 11g基础学习---(5) 开发子程序和包(二)
2014-11-23 23:34:12 来源: 作者: 【 】 浏览:14
Tags:Oracle 11g 基础 学习 --- 开发 子程序
] PACKAGE BODY package_name

IS | AS

private type and item declarations

subprogram bodies

END package_name;

2.2 调用包的组件

对于包的私有组件,只能在包内调用,并且可以直接调用

而对于包的公用组件,既可以在包内调用,又可以在其他应用中调用

在同一包内调用包的组件

在调用同一包内的其他组件时,可以直接调用,不需要添加包名作为前缀

调用包的公用变量

当在其他应用中调用包的公用变量时,必须在公用变量名前添加包名作为前缀

调用包的公用过程

当在其他应用中调用包的公用过程时,必须在公用过程名前添加包名作为前缀

调用包的公用函数

当在其他应用中调用包的公用函数时,需要在函数名前添加包名作为前缀

以其他用户身份调用包的公用组件

当以其他用户身份调用包的公用组件时,必须为用户赋予能够执行包的权限,并且必须以“用户名.包名.组件名”的语法格式来调用

2.3 管理包

查看包源代码

通过查询数据字典USER_SOURCE,可以显示当前用户的包及其源代码

删除包

如果只删除包体,则可以使用DROP PACKAGE BODY命令

如果同时删除包规范和包体,则可以使用DROP PACKAGE命令

总结

子程序是指被命名的PL/SQL块,这种块可以带有参数,可以在不同应用中多次调用。PL/SQL有两种类型的子程序:过程和函数

过程一般用于执行一个指定的动作

函数一般用于计算和返回一个值

子程序使用IN模式的参数传入数据、OUT模式的参数返回数据

IN OUT参数也称为输入输出参数,它在调用过程之前需通过变量给参数传递数据,在调用结束之后,Oracle会通过该变量将过程结果传递给应用

为形参传递变量和数据可以采用位置传递、名称传递和组合传递3种方法

可以在SQL语句内部调用函数来完成复杂计算问题,但不能调用过程

包(Package)用于逻辑组合相关的PL/SQL类型、PL/SQL项和PL/SQL子程序

包由包规范和包体两部分组成。当创建包时,需要首先创建包规范,然后再创建包体

摘自 幸福的猪的专栏

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Oracle11gSGA调整方法 下一篇Oracle11g的导入与导出

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: