我在 SQL Plus 中创建了触发器而没有错误,但它不起作用
Posted
技术标签:
【中文标题】我在 SQL Plus 中创建了触发器而没有错误,但它不起作用【英文标题】:I have created trigger in SQL Plus without error but it doesn't work 【发布时间】:2021-12-16 10:32:54 【问题描述】:我在 SQL Plus 中创建了以下触发器,以在表有更新时显示旧电话号码和新电话号码。它在我创建时似乎有效,但是当我尝试按照行查看它是否有效时,什么也没有。我的错误在哪里,你能帮帮我吗?
`CREATE OR REPLACE TRIGGER update_trig
AFTER UPDATE OF number ON traveler
FOR EACH ROW
BEGIN
DBMS_OUTPUT.PUT_LINE('New: ' || :new.number);
DBMS_OUTPUT.PUT_LINE('Old: ' || :old.number);
END;
/ `
测试线:
UPDATE traveler SET number = 0651458621 WHERE number = 0651458625;
【问题讨论】:
【参考方案1】:显然,我应该在所有内容之前添加一行并说“SET SERVEROUTPUT ON”。这是运行 dbms 输出的命令
【讨论】:
以上是关于我在 SQL Plus 中创建了触发器而没有错误,但它不起作用的主要内容,如果未能解决你的问题,请参考以下文章
如何通过批处理文件连接到 SQL Plus 来运行 SQL 查询
在 Oracle PL/SQL 中创建触发器时如何解决“编译错误成功”错误?