变量
标识符定义
PL/SQL程序设计中的标识符定义与SQL的标识符定义的要求相同。要求和限制有:
()不能超过个字符。
()首字符必须为字母。
()不区分大小写。
()不能使用SQL保留字。
()对标识符的命名最好遵循实际项目中相关命名规范
声明语法
- PL/SQL中出现的变量在DECLARE部分定义,
- 语法如下:变量名[CONSTANT] 数据类型[NOT NULL][ := | DEFAULT PL/SQL表达式]
- 常量:[CONSTANT]必须初始化
数据类型
在
PL/SQL
出现的所有变量和常量都需要指定一个数据类型。下面介绍一些常用的数据类型,有标量类型、参考类型、
LOB
类型和用户自定义
类型
标量类型
①数值型
NUMBER [(precision, scale)]:可存储整数或实数值
②字符型
CHAR[(maximum_length)] :描述定长的字符串,如果实际值不够定义的长度,系统将以空格填充。在PL/SQL中最大长度的是,长度缺省值为。
③日期型
常用的日期类型为DATE。日期默认格式为DD-MON-YY,分别对应日、月、年。
④布尔型
存储逻辑值TRUE或FALSE
()参考类型
参考类型分为两种,%TYPE和%ROWTYPE。
①%TYPE类型
定义一个变量,其数据类型可以与已经定义的某个数据变量的类型相同,或者与数据库表的某个列的数据类型相同,这时可以使用%TYPE。
②%ROWTYPE类型
定义一个变量的类型参照自基本表或视图中记录的类型、或游标的结构类型,这时可以使用%ROWTYPE
语法变量赋值
常量
在
PL/SQL
程序中可以通过两种方式给变量赋值
。
在
PL/SQL
程序中可以通过两种方式给变量赋值
。
()直接赋值
变量名
:=
常量或表达式
;例如:
v_num NUMBER:=3;
()通过SELECT..INTO赋值
SELECT
字段
INTO
变量名例如:
SELECTsname,age INTO v_sname, v_age
FROM studentWHERE sno=‘20120001’;
任务
-编写一个PL/SQL程序,输出学号为的学生姓名和出生年份。
DECLARE
v_sname student.sname%TYPE;
v_birth NUMBER;
BEGIN
SELECT sname,2012-age into v_sname,v_birth
FROM student WHERE sno='20120006';
DBMS_OUTPUT.PUT_LINE('学号为2012006的姓名:'||v_sname||' 出生年月:'||v_birth);
END;