oracle 里面pragma,oracle中关键字pragma解释

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

======

编译指示在编译时被处理,它们不在运行时执行

=====

编译指示是对编译程序发出的特殊指令。

=====

它也称为伪指令(pseudoinstruction),不会改变程序的含义。

=====

它只是向编译程序传递信息 ,实际上它是非常类似于嵌在 SQL 语句的注释中的性能调整提示。

==========

EXCEPTION_INIT

将一个特定的错误号与程序中所声明的异常标示符关联起来。

==========

"向EMP表插入数据时,因为DEPT与EMP之间存在主从关系,如果部门号在部门表中不存在就会触发ORA-2291错误。"

Create or replace procedure add_emp(.....)

is

e_2291 EXCEPTION;--异常标示符

PRAGMA EXCEpTION_INIT(e_2291,-2291);--

BEGIN

.....

END;

=========

另:

=======

RESTRICT_REFERENCES

告诉编译程序打包程序的纯度。

======

SERIALLY_REUSABLE

告诉PL/SQL 的运行时引擎,在数据引用之时不要保持包级数据。

======

DECLARE

e_products_invalid EXCEPTION;

PRAGMA EXCEPTION_INIT (e_products_invalid,

-2292);

v_message VARCHAR2(50);

BEGIN

. . .

EXCEPTION

WHEN e_products_invalid THEN

v_message :=

'Product code specified is not valid.';

. . .

END;

========

PRAGMA是单词pragmatics的简写。

============

A pragma is a compiler directive, which can be thought of as a

parenthetical remark to the compiler.

============

Pragmas (also called pseudoinstructions) are processed at compile

time, not at run time.

============

For example, In PL/SQL,

the pragma EXCEPTION_INIT tells the compiler to associate an

exception name with an Oracle error number. ============

That allows you to refer to any internal exception by name and to

write a specific handler for it.:

DECLARE

deadlock_detected EXCEPTION;

PRAGMA EXCEPTION_INIT(deadlock_detected, -60);

BEGIN

...

EXCEPTION

WHEN deadlock_detected THEN

-- handle the error

===================

评论这张

cce544e7261bf3a4535656c82b969b03.png

转发至微博

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值