共计 1558 个字符,预计需要花费 4 分钟才能阅读完成。
这篇文章主要为大家展示了“oracle 中 package 包头和 package body 包体有什么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让丸趣 TV 小编带领大家一起研究并学习一下“oracle 中 package 包头和 package body 包体有什么用”这篇文章吧。
程序包
1 作用是为了实程序模块化
2 程序包里面可以包含存储过程,函数,变量,游标等 PL/SQL 程序
3 程序包类似 java 的 jar 包,存储过程,函数,变量,游标等相当 jar 包提供的方法
4 调用程序包里面的存储过程,函数等元素时,oracle 会把程序包调入内存,下次是使用,直接从内存读取。
那么这些项目属于私有项目,只能在包体中使用.
一 包的组成
包头 (package):包头部分申明包内数据类型,常量,变量,游标,子程序和异常错误处理,这些元素为包的公有元素。
包主体 (package body):包主体则是包定义部分的具体实现,它负责为包头中所声明子程序提供具体的实现,在包主体中还可以声明包的私有元素。
包头和包主体分开编译,并作为两个分开的对象分别存放在数据库字典中。
二 包的语法规则
包头的语法如下:
create or replace package 包名
As | IS
procedure 过程名();
Function 函数名() return 数据类型;
变量定义;
异常定义;
光标定义;
………..
………..
End 包名;
包体创建的语法:
create or replace Package Body 包名
As | IS
Procedure 过程定义;
Procedure 过程定义;
Function 函数定义;
Function 函数定义;
………;
end 包名;
包的开发步骤
与开发存储过程类似,包的开发需要几个步骤:
1. 将每个存储过程调式正确;
2. 用文本编辑软件将各个存储过程和函数集成在一起;
3. 按照包的定义要求将集成的文本的前面加上包定义;
4. 按照包的定义要求将集成的文本的前面加上包主体;
5. 使用 SQLPLUS 或开发工具进行调式。
加密实用程序
ORACLE 提供了一个实用工具来加密或者包装用户的 PL/SQL,它会将用户的 PL/SQL 改变为只有 ORACLE 能够解释的代码版本.
WRAP 实用工具位于 $ORACLE_HOME/BIN.
格式为:
WRAP INAME= input_file_name [ONAME= output_file_name]
wrap iname=e:\sample.txt
注意:在加密前,请将 PL/SQL 程序先保存一份,以备后用。
可以使用 DROP PACKAGE 命令对不需要的包进行删除,语法如下:
DROP PACKAGE [BODY] [user.]package_name;
包与过程、函数一样,也是存储在数据库中的,可以随时查看其源码。若有需要,在创建包时可以随时查看更详细的编译错误。不需要的包也可以删除。
同样,为了避免调用的失败,在更新表的结构后,一定要记得重新编译依赖于它的程序包。在更新了包说明或包体后,也应该重新编译包说明与包体。语法如下:
ALTER PACKAGE package_name COMPILE [PACKAGE|BODY|SPECIFICATION];
也可以通过以下数据字典视图查看包的相关。
DBA_SOURCE, USER_SOURCE, USER_ERRORS,DBA-OBJECTS
如,我们可以用:select text from user_source wherename= DEMO_PKG1 来查看我们创建的包的源码。
以上是“oracle 中 package 包头和 package body 包体有什么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注丸趣 TV 行业资讯频道!