PL/SQL 第3章 包的概念

记录2012-5-15  9:00

(3)包
   包用于逻辑组合相关的过程和函数,它由包规范和包体两部分组成。包规范用于定义公用的常量、变量、过程和函数,在SQL*Plus中建立报规范可以使用Create package命令。


    包规范只包含了过程和函数的说明,而没有过程和函数的实现代码。包体用于实现包规范中的过程和函数,在SQL*Plus中建立包体可以使用Create package body命令。


    当调用包的过程和函数时,在过程和函数名之前必须带有包名作为前缀(包名.子程序),而如果要访问其他方案的报,还必须要加方案名作为前缀(方案名.包名.子程序名).

4.触发器
  触发器是指隐含执行的存储过程。当定义触发器时,必须要制定触发事件以及触发操作,常用的触发事件包括INSERT,UPDATE和DELETE语句,而触发操作实际是一个PL/SQL块。在SQL*Plus中建立触发器是使用Create trigger命令来完成的。

记录2012-5-15  15:00

3.2定义并使用变量
  
    编写PL/SQL程序时,若临时存储数值,必须要定义变量和常量;若在应用环境和子程序之间传递数据,必须要为子程序制定参数。而在PL/SQL程序中定义变量、常量和参数时,则必须要为他们制定PL/SQL数据类型。在编写PL/SQL程序时,可以使用标量类型、复合类型、参照类型和LOB类型等四种类型。

3.2.1 标量变量

标量变量是指只能存放单个数值的变量。

标量数据类型包括数字类型、字符类型、日期类型和布尔类型,每种类型又包含相应的子类型。

1.常用标量类型

(1)语法

在PL/SQL块中定义变量和常量的语法如下:

  identifier [constant] datatype [not null] [:=| default expr]
  identifier :用于指定变量或常量的名称。
  constant:用于指定常量。当定义常量时,必须指定它的初始值,并且其数值不能改变。
  datatype:用于指定变量或常量的数据类型。
  not null:用于强制初始化变量(不能为null).当指定not null选项时,必须为变量提供数据数值。
  =:用于为变量和常量指定初始值。
  default:用于为变量和常量指定初始值。
  expr:用于指定初始值的PL/SQL表达式,可以是文本值、其他变量、函数等。

(2)定义标量变量示例
   v_ename varchar2(10);
   v_sal   number(6,2);
   v_balance binary_float;
   v_tax_rate constant number(6,2):=5.5;
   v_data    date;
   v_valid  boolean  not null default false;

(3)使用标量变量
   需注意:在PL/SQL块中为变量赋值不同于其他编程语言,必须要在等号前加号(:=)

4.使用%Type属性

3.2.2 复合变量  

复合变量是指用于存放多个值的变量。当定义复合变量时,必须要使用PL/SQL的复合数据类型。 PL/SQL包括PL/SQL记录、PL/SQL表、嵌套表以及varray等四种复合数据类型。

 


  

 

 

 

 


 

   

  
  

 

 

 

 

 

 

 

 

 

 

 

  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值