Oracle PL/SQL进阶编程(第八弹:使用系统包:DBMS_ALERT)

报警是Oracle中单向的、以事务提交为基础的对数据库报警事件的异步报警通知,比如可以在数据库数据发生变化时,某个字段的值发生变化时,通过报警向用户发送电子邮件通知。
报警是基于事务的,意味着除非能够报警的事务被提交,否则等过过程中的事务不会获得报警。

要使用DBMS_ALERT包,需要以DBA身份登录,为用户赋权:
GRANT EXECUTE ON DBMS_ALERT TO scott;

报警需要定义报警的发布方和接收方,对应同一个会话中的两个进程或者是不同会话中的进程。一个程序可以注册多个命名的报警,然后使用WAIT和WAITANY等待其中的任何一个报警产生。

注册报警事件REGISTER

在一个会话中可以注册多个报警,语法如下:
DBMS_ALERT.REGISTER(name IN VARCHAR2);

等待特定报警WAITONE

该过程用于等待当前会话中特定的报警事件,并且在发生报警事件时输出报警消息,该过程在执行之前会隐含地发出COMMIT,语法如下:

DBMS_ALERT.WAITONE(name    IN VARCHAR2,
                   message OUT VARCHAR2,
                   status  OUT INTEGER,
                   timeout IN NUMBER D
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值