7.2 PL/SQL变量的使用

所有的编程语言中变量是使用最频繁的。PL/SQL作为一个面向过程的数据库编程语言同样少不了变量,利用变量可以把PL/SQL块需要的参数传递进来,做到动态执行程序,同时也可以利用变量在PL/SQL内部进行值的相互传递,甚至可以把值传递出去,最终返回给用户。由此可见,变量是PL/SQL不可缺少的一部分。

7.2.1 变量、常量的类型及语法

变量就是它所表示的值是可以变化的,而常量就是当初始化后,其值不可以再改变。PL/SQL是一种强类型的语言,所以当使用变量或常量的时候必须声明,否则提示错误。下面是变量和常量声明的语法介绍。

1.变量声明语法结构


01 variable_name datatype

02 [

03 [NOT NULL]

04 {:=|DEFAULT}expression

05 ];


【语法说明】

❑variable_name:表示变量的名称。名称可以根据读者实际情况自行定义。

❑datatype:变量的数据类型。

❑第2~5行表示可选部分。如果没有这部分,那么只需要变量的名称以及对应的数据类型即可,声明的时候变量可以不赋值。

❑NOT NULL:表示非空约束。

❑{:=|DEFAULT}:当使用NOT NULL属性时,大括号里的内容为必需,表示二选一;“:=”表示赋值;DEFAULT表示默认值。

❑expression:表示变量存储的值,该项可以是表达式。

2.常量声明的具体语法结构


01 constant_name CONSTANT datatype

02 [NOT NULL]

03 {:=|DEFAULT}expression;


【语法说明】

❑constant_name:表示声明的常量名称。

❑CONSTANT:如果表示常量,该项必须有,否则表示变量。

❑datatype:常量的数据类型。

❑NOT NULL:表示常量值非空。

❑{:=|DEFAULT}:表示常量必须显式地为其赋值,方式同变量一样。

❑expression:值或表达式。

变量和常量的语法结构相似,其中expression表示的含义完全一样,都可以是如下类型的表达式:

❑字符型表达式;

❑数值型表达式;

❑日期型表达式;

❑布尔型表达式;

❑直接的一个值。

变量和常量的数据类型可以概括性地分为如下三种类型:

❑标量类型变量:单一类型,不存在组合。

❑复合类型变量:由几种单一类型组合而成的一个结构体。

❑引用类型变量:使用一个其他数据项的引用。

在这三种类型中日常开发最常用的就是前两种,下面会详细介绍这两种类型。