调试经验——Oracle PRAGMA编译指令的用法

PRAGMA是一个编译指示(或命令)。

编译指示是对编译程序发出的特殊指令。编译指示在编译时被处理,它们不在运行时执行。它也称为伪指令(pseudoinstruction),不会改变程序的含义。
它只是向编译程序传递信息 ,实际上它是非常类似于嵌在 SQL 语句的注释中的性能调整提示。
PRAGMA EXCEPTION_INIT表示将一个特定的错误号与程序中所声明的异常标示符关联起来。

如,以下代码中,通过编译指示将用户自定义异常(e_child_exists)与ORA-02292相关联。

-- For Example ch10_3b.sql 
DECLARE
   v_zip          ZIPCODE.ZIP%TYPE := '&sv_zip';
   e_child_exists EXCEPTION;
   PRAGMA EXCEPTION_INIT(e_child_exists, -2292);
BEGIN
   DELETE FROM zipcode
    WHERE zip = v_zip;
   
   DBMS_OUTPUT.PUT_LINE ('Zip '||v_zip||' has been deleted');
   COMMIT;
EXCEPTION
   WHEN e_child_exists 
   THEN
      DBMS_OUTPUT.PUT_LINE ('Delete students for this zipcode first');
END;

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值