REMOVE 过程 - 除去对指定警报的注册

REMOVE 过程从当前会话中除去对指定警报的注册。

语法

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

过程参数

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

权限

对 DBMS_ALERT 模块的 EXECUTE 特权。

示例

使用 REMOVE 过程除去警报 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