Oracle PLSQL变量的声明
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Oracle PL/SQL变量的声明
可以使用下面两种语法声明PL/SQL变量:
variable_name data_type [ [NOT NULL]:=default_value_expression];
variable_name data_type [ [NOT NULL] DEFAULT default_value_expression];
变量名V ARIABLE_NAME可以是任何合法的PL/SQL标识符,合法的PL/SQL标识符必须满足如下条件:
●长度不能超过30个字符,而且中间不能有空格。
●由字母、0到9的数字、下划线“_”、美元符号“$”以及符号“#”组成。
●必须以字母开始。
●不能使用PL/SQL或SQL中的关键字。例如,BEGIN、END不能作为变量名,因
为它在PL/SQL程序中有特殊的意义,表示块的开始和结束。
可以在SQL*Plus使用如下命令获得SQL和PL/SQL中的关键字:
help reserved words
变量类型DATA_TYPE必须是合法的SQL或PL/SQL数据类型,变量的类型决定了其中存储的数据类型。如果变量只能存储一个单独的值,则该变量称为标量变量。如果变量中可以存储多个值(如表中一行记录),则该变量称为复合类型的变量。
标量变量所使用的数据类型包括字符、数字、日期和布尔类型等,标量变量所使用数据类型见表6-1所示。
表6-1 基本数据类型
类型说明
Boolean 布尔值,包括true、false和null
Binary_integer -2,247483,648和2,247483,648之间的整数
Pls_integer 类似于binary_integer,但是计算速度更快
Number 数字型
Int 整数型
Pls_integer 整数型,产生溢出时出现错误
Binary_integer 整数型,表示带符号的整数
Char 定长字符型,最大255个字符
Varchar2 变长字符型,最大2000个字符
Date 日期型
Long 变长字符型,最长2GB
NOT NULL表示变量必须是非空的,需要指定初始值。当变量被创建后,可以以值表达式的方式对其赋初始值。在声明变量时,还可以使用DEFAULT关键字指定变量的默认值,这样如果未向变量赋值时,变量的值就是设置的默认值。
下面介绍几种常用的数据类型,这些常用的数据类型包括NUMBER、V ARCHAR2、DA TE和BOOLEAN等。
V ARCHAR2是一种变长的数据类型。在PL/SQL中,该类型的最大长度为32767。使用V ARCHAR2类型变量的语法形式如下:
char_variable varchar2(max_length);
其中,MAX_LENGTH参数是正整数,表示该变量最大可以容纳的字符数。
NUMBER数据类型表示所有的数字数据,声明NUMBER数据类型变量的格式如下所示:
number_variable number(length,decimal_places);
其中,LENGTH参数的取值范围为1~38,DECIMAL_PLACES参数用于指定数字的小数点后面的位数。
DA TE数据类型用于存储日期数据和时间数据,声明该类型变量的格式如下所示:date_variable date;
BOOLEAN数据类型用于声明布尔值,该类型的变量只能存储TRUE、FALSE或NULL 值。
下面的代码在程序块的定义部声明了4种类型的变量:
DECLARE
out_date DA TE; --定义存储日期和时间值的变量
out_text varchar2(50); --定义存储字符串值的变量
out_num binary_integer; --定义存储数字值的变量
out_boolean boolean; --定义存储布尔类型值的变量
BEGIN
----PL/SQL程序的执行部----
END;
这些标量变量只可以在该程序块中使用,并且在BEGIN部分开始执行前,每一个变量都将包含一个NULL值。