REGISTER 过程 - 注册以接收指定警报

REGISTER 过程注册当前会话以接收指定的警报。

语法

阅读语法图跳过直观语法图DBMS_ALERT.REGISTER (name)

过程参数

name
类型为 VARCHAR(128) 的输入自变量,用于指定警报的名称。

权限

对 DBMS_ALERT 模块的 EXECUTE 特权。

示例

使用 REGISTER 过程以针对警报 alert_test 进行注册,然后等待信号。

SET SERVEROUTPUT ON@

CREATE PROCEDURE proc1()
BEGIN
  DECLARE v_name    VARCHAR(30) DEFAULT 'alert_test';
  DECLARE v_msg     VARCHAR(80);
  DECLARE v_status  INTEGER;
  DECLARE v_timeout INTEGER DEFAULT 5;
  CALL DBMS_ALERT.REGISTER(v_name);
  CALL DBMS_OUTPUT.PUT_LINE('Waiting for signal...');
  CALL DBMS_ALERT.WAITONE(v_name , v_msg , v_status , v_timeout);
  CALL DBMS_OUTPUT.PUT_LINE('Alert name   : ' || v_name);
  CALL DBMS_OUTPUT.PUT_LINE('Alert status : ' || v_status);
  CALL DBMS_ALERT.REMOVE(v_name);
END@

CALL proc1@

此示例生成以下输出:


Waiting for signal...
Alert name   : alert_test
Alert status : 1