【发布时间】:2015-10-08 13:26:02
【问题描述】:
每当在 Oracle 中执行 connect user/pass 时,我都会尝试执行触发器。
尝试使用以下after logon 触发器,但没有执行:
CREATE OR REPLACE TRIGGER logon_trigger
AFTER LOGON
ON DATABASE
BEGIN
dbms_output.put_line('Logon detected');
END;
/
创建上述触发器后,尝试了以下连接操作,但没有成功:
conn scott/tiger@pdb1
conn system/manager@pdb1
在 AskTom 和其他 Oracle 相关问答网站中进行了搜索,但没有得到任何正确的指针来实现这一点。如果有人能指出实现这一目标的正确方法,那就太好了。
【问题讨论】:
-
连接将
serveroutput重置为关闭(在 SQL*Plus 中);你希望谁看到输出?连接用户已经知道他们已经连接。如果您打算做一些更有意义的事情并且只是作为一个简单的测试这样做,那么触发器就会触发。 -
@AlexPoole 感谢您让我了解重置服务器输出设置。当我尝试其他一些与表相关的操作而不是
dbms_output时,它起作用了。再次感谢。
标签: oracle triggers connection-string