PL 程序由三个块组成,即声明部分(DECLARE)、执行部分(BEGIN)和异常处理部分(EXCEPTION)。

    • 声明部分:在此声明 PL 用到的变量、类型、游标以及局部的存储过程和函数 。

    • 执行部分:显示执行过程及 SQL 语句,是程序的主要部分。

    • 执行异常部分:显示错误处理。

    PL 块的语法结构如下:

    1. DECLARE
    2. /* 声明部分: 在此声明 PL 用到的变量、类型、游标以及局部的存储过程和函数 */
    3. BEGIN
    4. /* 执行部分: 过程及SQL 语句,即程序的主要部分 */
    5. EXCEPTION
    6. /* 执行异常部分: 错误处理 */
    7. END;

    注意

    执行部分是 PL 必须包含的内容。

    PL 块可以分为以下三类:

    • 匿名块:动态构造,只能执行一次。

    • 程序:存储在数据库中的存储过程、函数及包等。当在数据库上建立好后可以在其它程序中调用。

    • 触发器:当数据库发生操作时,会触发一些事件,从而自动执行相应的程序。

    示例:一个最简单的匿名块,向屏幕打印”Hello World”:

    1. DECLARE
    2. V_Str varchar(20) := 'World';
    3. BEGIN
    4. DBMS_OUTPUT.PUT_LINE('Hello '||V_Str);
    5. END;

    说明

    PL 语句默认结束符为“/”,用户也可以自定义结束符:

    1. DELIMITER $$
    2. DELIMITER //