oracle删除包头 包体也没了,oracle 包

场景:PL/SQL(oracle)八_包

PL/SQL(oracle)8_包

一、包的概念

类似于一个容器,能打包相应的Pl/SQL变量、常量、函数、过程、复合数据类型等元素到这个容器内。用来限制

对这些内容的访问权限。

二、包的构成。

包通常由两部分组成,分别为包头和包体 。

包头:里面通常写上述元素的声明,相当于应用程序的接口。

包体:里面通常写上述元素的实现,相当于应用程序的具体实现。

包头和包体分别作为数据库对象被保存在数据库内。

三、包的特性

1、包本身不能被调用,被参数化,只能调用包中的具体元素。

2、当第一次调用一个包中的元素时,整个包被载入内存,下一次再调用包中的相应元素时,省略了磁盘操作。

3、用户只能访问包头,而不能访问包体。

4、包头可以在没有包体的情况下单独存在,而包体不可以。

四、公有元素、私有元素和局部元素。

公有元素:只要在包头中声明的元素,即为公有元素,在包的外部都可以访问得到。

私有元素:在包体中出现而包头中没有出现的元素,即为私有元素,在包的外部访问不到。

局部元素:在包体的某一个过程或者函数中声明的元素,即为局部元素,只能在包体的这个过程和函数中使用。

五、如何编辑一个包。

1、new Sql-window

2、new program-window ->Package

3、new command-window

六、创建包的语法

1、创建包头:

Create Or Replace Package 包名 is|As

公有元素的声明;

pl/sql块

2、创建包体:

Create Or Replace Package Body 包名 is|As

私有元素的声明

公有元素的实现;

pl/sql块

七、包的调用

和以前调用方式的区别是:在调用的元素名前面加上  '包名.'

八、包的特性:

1、无体包:只有包头没有包体的包。通常只写常量的声明。

2、包的重载特性:在同一个包里,函数或过程名相同,参数列表不同。

3、包的前向声明:

九、删除包

删除包头:

Drop Package 包名;--包头和包体都被删除

删除包体

Drop Package Body 包名; --只删除包体。

当修改包头时,包头和包体需要全部重新编译,如果只修改包体,包头不需要重新编译。

十、动态SQL:在运行期间才能明确下来操作的是哪个数据库对象.

静态SQL:在编译之前就已经明确操作的是哪个数据库对象。

十一、本地动态SQL:

Execute Immediate '动态SQL' [Into 变量列表] [Using 参数列表];

变量列表:用来做Select语句赋值的。、

参数列表:用来填充SQL中参数的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值