繁体   English   中英

Oracle SQL触发器不起作用

[英]Oracle Sql trigger not working

我有一个非常简单的触发器,当在用户表中插入新行时,它会打印出用户名和日期。 但是在成功编译之后,触发器没有被触发(dbms窗口中没有输出)。 因此,我简化了代码,直到得到:

CREATE OR REPLACE TRIGGER logger
AFTER INSERT ON USERS
BEGIN
   DBMS_OUTPUT.PUT_LINE('User added with name:');
END;

如果我运行SQL工作表中的代码(从BEGIN到END),则可以看到输出,但是在尝试使用触发器时看不到输出。 问题出在哪儿?

有两种选择,一种是触发器不触发,另一种是触发器,但是您没有看到输出。

  1. 假设您正在使用sqlplus之类的控制台程序,请确保在插入行之前先执行SET SERVEROUTPUT ON
  2. 如果那不能解决问题,请确保触发触发器。 尝试创建一个简单的表:

    创建表日志表(msg VARCHAR2(30 CHAR));

接下来,将其添加到触发器中

INSERT INTO logtable( msg ) VALUES ( 'trigger fired' );

然后,再次尝试插入。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM