第二节:定义PL/SQL的变量

一、变量的用处

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(引用变量)

引用变量相当于指针

扫描二维码关注公众号,回复: 10815135 查看本文章

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会优先解释为列名

猜你喜欢

转载自www.cnblogs.com/ykagile/p/12703986.html