SIGNAL 过程 - 用信号表明指定警报的出现

SIGNAL 过程用信号表明指定警报的出现。信号包括随警报传递的消息。发出 SIGNAL 调用时,该消息将分发至侦听器(针对警报注册的进程)。

语法

阅读语法图跳过直观语法图DBMS_ALERT.SIGNAL (name,message)

过程参数

name
类型为 VARCHAR(128) 的输入自变量,用于指定警报的名称。
message
类型为 VARCHAR(32672) 的输入自变量,用于指定随此警报传递的信息。发生警报时,WAITANY 或 WAITONE 过程可能会返回此消息。

权限

对 DBMS_ALERT 模块的 EXECUTE 特权。

示例

使用 SIGNAL 过程来针对警报 alert_test 的实例发出信号。

SET SERVEROUTPUT ON@

CREATE PROCEDURE proc1()
BEGIN
  DECLARE    v_name   VARCHAR(30) DEFAULT 'alert_test';
  CALL DBMS_ALERT.SIGNAL(v_name,'This is the message from ' || v_name);
  CALL DBMS_OUTPUT.PUT_LINE('Issued alert for ' || v_name); 
END@

CALL proc1@

此示例生成以下输出:

Issued alert for alert_test