在一个表上创建一个触发器,该表被编译并发送消息" Trigger Created"显示了。
但是在特定表上的操作中,触发器不会触发。
可能是什么问题或者是否有一个问题?
答案 0 :(得分:0)
检查您的触发器是否处于禁用状态。如果是,请启用触发器。
ALTER TABLE table_name ENABLE TRIGGER tr_name
答案 1 :(得分:0)
如果您使用 oracle ,则可以尝试启用触发器
ALTER TABLE tblName ENABLE TRIGGER trgName --WRONG
更正语法(感谢评论):
ALTER TRIGGER trg_name ENABLE;
检查您的触发器是否存在,有效/无效等:
SELECT * from dba_triggers WHERE LOWER(trigger_name) LIKE '%salupdate%';
SELECT * FROM dba_objects WHERE LOWER(object_name) LIKE '%salupdate%';
用户在触发器中使用DBMS_OUTPUT.PUT_LINE,这在输出中看不到,以下解决了问题:
SET SERVEROUTPUT ON;
答案 2 :(得分:0)
检查触发器是否有效并启用:
SELECT * FROM User_Objects t WHERE t.OBJECT_TYPE = 'TRIGGER';
SELECT t.* FROM User_Triggers t;