PL/SQL是Procedure Language & Structured Query Language的缩写。 PL/SQL程序的运行是通过ORACLE中的一个引擎来进行的。这个引擎可能在ORACLE的服务器端,也可能在 ORACLE 应用开发的客户端。
PL/SQL块
DECLARE
--声明部分:在此声明PL/SQL用到的变量,类型及游标,以及局部的存储过程和函数。
BEGIN
--执行部分:过程及SQL语句, 即程序的主要部分。
EXCEPTION
-- 执行异常部分: 错误处理。
END;
注释和标识符
1、使用 -- 来单行注释。
2、使用 /**/ 来多行注释。
3、PL/SQL程序设计中的标识符定义与SQL的标识符定义的要求相同。
数据类型
数据类型有数值、字符、日期、布尔等数据类型。
流程控制
if表达式
IF <布尔表达式> THEN
PL/SQL 和 SQL语句
END IF;
case表达式
CASE
WHEN 条件表达式1 THEN
语句段1
WHEN 条件表达式2 THEN
语句段2
......
WHEN 条件表达式n THEN
语句段n
[ELSE 语句段]
END;
loop表达式
LOOP
--要执行的语句
EXIT WHEN <条件语句> --条件则退出循环语句
END LOOP;
while表达式
WHILE <布尔表达式> LOOP
--要执行的语句;
END LOOP;
for表达式
FOR 循环计数器变量 IN 下限 .. 上限 LOOP
要执行的语句;
END LOOP
GOTO语句
PL/SQL中GOTO语句是无条件跳转到指定的标号。
NULL语句
在PL/SQL程序中,null语句是一个可执行语句,可以用null语句来说明【不用做任何事情】的意思,相当于一个占位符或不执行任何操作的空语句。
PL/SQL游标(显示和隐式)
在PL/SQL块中执行SELECT、INSERT、DELETE和UPDATE语句时,ORACLE会在内存中为其分配上下文区(Context Area),即缓冲区。游标是指向该区的一个指针,或是命名一个工作区(Work Area),或是一种结构化数据类型。它为应用等量齐观提供了一种对具有多行数据查询结果集中的每一行数据分别进行单独处理的方法,是设计嵌入式SQL语句的应用程序的常用编程方式。
PL/SQL异常
异常情况处理(EXCEPTION)是用来处理正常执行过程中未预料的事件,程序块的异常处理预定义的错误和自定义错误,由于PL/SQL程序块一旦产生异常而没有指出如何处理时,程序就会自动终止整个程序运行。