你的位置:首页 > 数据库

[数据库]PL/SQL编程_变量


在PL/SQL块中可以定义变量数据类型,这使得PL/SQL块对数据的处理更加灵活。

变量和类型的定义放在PL/SQL块的变量声明部分。

变量的定义与使用

变量的定义有两种格式,分别为:
变量名 类型 [约束][DEFAULT 默认值]
变量名 类型[约束][:=初始值]
其中用方括号限定的部分是可选的。

约束用来规定变量必须满足的条件,比如“ NOTNULL”约束指定变量不能为空值,这样在定义变量的时候就要为其指定初始值或默认值。
变量名要遵守一定的命名规则。

变量名必须以字母开头,包含数字、字母、下划线以反$、#符号,长度不能超过30字符,并且不能与Oracle关键字相同。
变量名与大小写是无关的。
变量的类型可以是PL/SQL提供的数据类型,也可以是用户自定义的类型。

基本的数据类型  说明

BINARY INTEGER  整数类型的数据 (注:BINARY  二进制

NUMBER[(精度,小数)]  可表示整数和浮点数

CHAR [(最大长度)]  字符串,长度可达32 767字节

LONG  长字符串

LONG RAW  与数据库中的LONG RAW -致

VARCHAR2 (最大长度)  与数据库中的VARCHAR2一致

DATE  与数据库中的DATE-致

BOOLEAN  取值为TRUE和FALSE

除了上述基本类型外, PL/SQL还定义了一些子类型

在PL/SQL块中既可以使用这些基本数据类型,也可以使用它们的子类型,但数据的最终类型仍然是它的基本类型。

子类型  父类型  说明

NATURAL与NATURALN  BINARY INTEGER  自然数,其中后者不能为空
POSITIVE与POSITIVEN  BINARY INTEGER  正整数,其中后者不能为空
SIGNTYPE  BINARY INTEGER  可取值为一1 、0 、I
INT与INTEGER  BINARY INTEGER  整数型数据
DEC 、DECIMAL NUMERIC  BINARY INTEGER  等价于NUMBER ,提供了ANSI兼容性
FLOAT  BINARY INTEGER  126位二进制的浮点数
REAL  BINARY INTEGER  63位二进制的浮点数
CHARACTER  CHAR  与CHAR等价,提供了ANSI兼容性
STRING  VARCHAR2  与VARCHAR2等价,提供了ANSI兼容性
VARCHAR  VARCHAR2  与VARCHAR2等价

变量在定义时可以指定默认值或初始值,在PL/SQL块的运行过程中还可以为其赋值。

赋值的格式为:

变量名:=表达式