触发有错误

时间:2017-09-24 14:36:47

标签: database oracle11g triggers sqlplus

创建此触发器时出错。我的目标是,如果我们在customers表中插入一个客户,那么该银行的银行表中的no.of customers列应该会更新。

DELIMITER @@
CREATE OR REPLACE TRIGGER USER.bank_trigger AFTER
  INSERT ON customers FOR EACH row BEGIN
  UPDATE bank
  SET no_of_customers = no_of_customers + 1
  WHERE bank_id       = new.bank_id
END @@ DELIMITER ;

1 个答案:

答案 0 :(得分:0)

根据您的Oracle 11g标记,您使用的CREATE TRIGGER语法不正确。这是正确的语法。 :new表示触发器体内列的新值。

CREATE OR REPLACE TRIGGER bank_trigger AFTER
  INSERT ON customers FOR EACH row 
  BEGIN
  UPDATE bank
  SET no_of_customers = no_of_customers + 1
  WHERE bank_id = :new.bank_id;
END;
/