一、变量的用处
1.临时存储数据
2.对存储的值进行操作
3.可重用性,即一个变量声明后可重复使用
二、变量命名的规则
1.第一个字符必须是字母,大小写都行
2.可以包含字母或数字
3.可以包含一些特殊字符,例如和#能不用尽量不要用,因为这两个字符在其他的编程语言中往往作为特殊字符,是不能用在变量的名字中的)
4.变量名的长度不能超过30个字符
5.不能和保留关键字一样
三、如何在PL/SQL中申明和使用变量
1.可以在申明区申明和初始化变量
2.可以在执行区(指令区)分配新的变量和值
3.可以作为参数传递给PL/SQL的子函数
4.可以包含PL/SQL输出的参数
语法
identifier [CONSTANT] datatype [NOT NULL] [:= | DEFAULT exper]
举例
DECLARE v_hiredate DATE; v_deptno NUMBER(2) NOT NULL :=10; v_location VARCHAR2(13) :='Atlanta'; c_comm CONSTANT NUMBER :=1400;
注意:这里的:=是给变量初始化赋值
四、变量的类型
1.Scalar(标量)
变量里面的内容是单一的,例如放个数字,或者字符串,或者日期等,用处最广
常用类型:
-CHAR[(maximum_length)]
-VARCHAR2(maximum_length)
-NUMBER[(precision,scale)]
-BINARY_INTEGER
-PLS_INTEGER
-BOOLEAN(TRUE/FALSE/NULL)
-BINARY_FLOAT
-BINARY_DOUBLE
-DATE
-TIMESTAMP
-TIMESTAMP WITH TIME ZONE
-TIMESTAMP WITH LOCAL TIME ZONE
-INTERVAL YEAR TO MONTH
-INTERVAL DAY TO SECOND
*PL/SQL还有一个很独特的类型,定义格式为
identifier table.column_name%TYPE
举例说明
... emp_lname employees.last_name%TYPE;//emp_lname的类型与employees表中last_name字段类型一致,并且当last_name的类型改变时,emp_lname的类型也会跟着改变 ...
... balance NUMBER(7,2); min_balance balance%TYPE :=1000;//申明与另一个变量的类型一致 ...
2.Composite(复合变量)
例如:数组(里面会有不同类型的内容)
3.Reference(引用变量)
引用变量相当于指针
4.Large object(LOB)
包含CLOB(Character Large Object——主要存储一些文档)、BLOB(Byte Large Object——主要存储一些二进制文件,例如:视频、声音、图片等)、BFILE(也属于BLOB类型)、NCLOB(存放一些非英文字母的文字,例如中日韩等的文字)
BLOB和BFILE的区别:
BLOB真正的数据是存储是数据库中;BFILE真正的数据是存在文件系统中,只在数据库中留一个指针,所以BFILE的访问速度更快
五、申明和初始化变量时的指导原则
1.使用有意义的名字
做到见名知意,方便代码的可维护性
2.初始化变量时必须非空或将其定义为常量
3.每一行定义一个变量,并且注意缩进
方便代码的可维护性
4.不要使用列名作为变量名
否则PL/SQL会优先解释为列名