Plsql Oracle SQL开发人员:触发器

Plsql Oracle SQL开发人员:触发器,plsql,oracle11g,Plsql,Oracle11g,大家好,PL/SQL专家 你知道我怎么用“蝙蝠侠”这个词吗 INSERT INTO SUPERHEROES VALUES ('Batman'); 所以我可以得到下面的输出 1 row inserted. 你加了蝙蝠侠 当我运行触发器函数时?我使用了下面的语句,但它没有显示蝙蝠侠。提前谢谢你!注意:我刚刚开始学习sql 这是一个代码: CREATE OR REPLACE TRIGGER TRIG_SUPERHEROES BEFORE INSERT ON SUPERHEROES FOR EACH

大家好,PL/SQL专家

你知道我怎么用“蝙蝠侠”这个词吗

INSERT INTO SUPERHEROES VALUES ('Batman');
所以我可以得到下面的输出

1 row inserted.
你加了蝙蝠侠

当我运行触发器函数时?我使用了下面的语句,但它没有显示蝙蝠侠。提前谢谢你!注意:我刚刚开始学习sql

这是一个代码:

CREATE OR REPLACE TRIGGER TRIG_SUPERHEROES
BEFORE INSERT ON SUPERHEROES
FOR EACH ROW
ENABLE
DECLARE
  V_USER  VARCHAR(20);
  SH_NAME VARCHAR(20);
BEGIN`enter code here`
  SELECT USER INTO V_USER FROM DUAL;
  DBMS_OUTPUT.PUT_LINE('YOU JUST ADDED NEW RECORD ' ||SH_NAME);
END;
您必须使用:new.sh_name


:old包含旧记录状态,:new包含for each row触发器中的新记录状态。

格式化代码非常感谢!!!!除此之外,如果超级英雄表中已经存在new.sh_名称,是否可以添加IF或exists条件?我的目标是,在它插入超级英雄表之前,它将首先检查它是否已经存在。否则,它将不会插入到表中。它将首先检查它是否已经存在。不要为此使用触发器,而是向表中添加唯一约束或主键,这是正确的方法。