PL/SQL 的基本结构

32 篇文章 1 订阅
15 篇文章 1 订阅

#基于块结构
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. 可以优化变量的内存分配,把特定的代码才需要的变量留到代码所在的嵌套块中声明,使变量在嵌套块真正需要执行的时候才被分配
  2. 提供更细粒度的异常处理逻辑,在嵌套块内部直接捕获嵌套块中自己生成的异常,限制异常的传播
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值