PL/SQL学习笔记

PL/SQL记录

PL/SQL记录声明语法如下:

1 TYPE record_type_name IS RECORD(
2    filed1 type1[NOT NULL] [:expr1]
3    ......
4    filedn typen[NOT NULL] [:expr1n]
5 )

 其中,record_type_name是记录类型的名字。引用时必须定义相关的变量,记录只是类型(TYPE)而不是变量(VARIABLE).

记录的使用如下:

 1 DECLARE
 2   TYPE FND_COMPANIES_TYPE IS RECORD(
 3     fnd_code fnd_companies_vl.COMPANY_CODE%TYPE,
 4     FND_NAME FND_COMPANIES_VL.COMPANY_SHORT_NAME%TYPE);
 5   FND_CODE1 FND_COMPANIES_TYPE;
 6 BEGIN
 7   SELECT FCV.COMPANY_CODE, FCV.COMPANY_SHORT_NAME
 8     into FND_CODE1
 9     FROM FND_COMPANIES_VL FCV
10    WHERE FCV.SET_OF_BOOKS_ID = 32
11      AND FCV.COMPANY_TYPE = 1;
12   DBMS_OUTPUT.put_line('fnd_code:' || fnd_code1.FND_CODE || ' AND ' ||
13                        'FND_NAM:E' || FND_CODE1.FND_NAME);
14 END;

运行结果如下:

fnd_code:320101 AND FND_NAM:E太平资产管理有限公司

上述代码中,FND_COMPANIES_TYPE 是PL/SQL记录类型,并且包含了两个变量,即fnd_code、FND_NAME;FND_CODE1是记录类型的变量;FND_CODE1.FND_CODE表示引用记录变量FND_CODE1的成员FND_CODE,同理,FND_CODE1.FND_NAME则表示引用成员FND_NAME

表达式和运算符

1、数值表达式

PL/SQL中的数值表达式是由数值型常数、变量、函数和算术运算符组成的。可以使用的算术运算符有+、-、*、/和**(乘方)等。例子如下:

1 DECLARE
2   result INTEGER;
3 BEGIN
4   result := 3 + 3 * 12 - 24 + 8 ** 2;
5   dbms_output.put_line('运算的结果为:' || result);
6 END;

运行结果如下:

 1 运算的结果为:79 

2、字符表达式

字符表达式包括字符常数、变量、函数和字符运算符,唯一可以使用的字符运算符就是连接运算符(||)。

例子如下:

1 DECLARE
2   name NVARCHAR2(10);
3   spec NVARCHAR2(20);
4 BEGIN
5   name := '螺栓';
6   spec := '12mm';
7   DBMS_OUTPUT.put_line('name:' || name || ' spec:' || spec);
8 END;

运行结果如下:

 1 name:螺栓 spec:12mm 

3、关系运算符

PL/SQL中可以使用的关系运算符如下:

4、逻辑与算符

PL/SQL中的逻辑运算符包括与或非三种:

5、集合运算符

PL/SQL支持的集合运算符如下:

6、行运算符

行运算符能返回或者引用特定的行,如下图:

行运算符 说明
ALL 保留查询或聚合表达式中的重复行
DISTINGCT 作用与ALL相反,用于消除重复行
PRIOR 引用树形查询中返回的当前父级行
原文地址:https://www.cnblogs.com/tian2fei/p/3605663.html