您的位置:首页 > 数据库

PL/SQL 的基本结构

2017-02-09 09:43 176 查看

基于块结构

PL/SQL是块结构语言。块由DECLARE,BEGIN,EXCEPTION,END关键字划分,并且划分为3个不同的区域:

声明区域

该区域声明变量,常量以及其他程序元素

执行区域

该块的执行主体,该区域包括了块执行是将被运行的语句

异常区域

该区域可用于捕获执行区域运行时产生的各种异常

3个区域中,只有执行区域是必须的,其他两个区域都是可选的

[DECLARE]
Declaration statements;
BEGIN
Execution statements;
[EXCEPTION]
Exception handling statements;
END;


仅包含执行区域的hello world

BEGIN
DBMS_OUTPUT.put_line ('Hello World!');
END;


包含所有区域的hello world

DECLARE
l_message
VARCHAR2 (100) := 'Hello World!';
BEGIN
DBMS_OUTPUT.put_line (l_message);
EXCEPTION
WHEN OTHERS
THEN
DBMS_OUTPUT.put_line (SQLERRM);
END;


匿名块与命名块

块结构按是否命名,可分为匿名块和命名块。匿名块是PL/SQL中最简单的程序单元,匿名块定义后,只能被执行一次,“基本结构”中的Hello World就是匿名块;命名块对程序块赋名后,可以多次引用执行同一个命名块。

是函数和过程是都是命名块。

块的嵌套

程序块支持嵌套,可以通过在任意执行语句前通过BEGIN-END的形式引入嵌套块。

[DECLARE]
Declaration statements;
BEGIN
[DECLARE] Declaration statements; BEGIN Execution statements; [EXCEPTION] Exception handling statements; END;
Execution statements;
[EXCEPTION]
Exception handling statements;
END;


嵌套的程序块提供了对程序的更好的控制:

1. 可以优化变量的内存分配,把特定的代码才需要的变量留到代码所在的嵌套块中声明,使变量在嵌套块真正需要执行的时
4000
候才被分配

2. 提供更细粒度的异常处理逻辑,在嵌套块内部直接捕获嵌套块中自己生成的异常,限制异常的传播
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: