SQLplus:如何在更新之前使用触发器修改触发器中的值

时间:2020-04-14 01:25:13

标签: mysql sql triggers

我想使用触发器更新此值。

CREATE TRIGGER test
BEFORE UPDATE OF value
ON table FOR EACH ROW 
WHEN NEW.value < 0
BEGIN
  IF :new.value < 0 then
    :new.value := 0 ;
  end if;
END

当我看到我的表时,如果我输入一个新值<0,则没有任何内容更改为0

谢谢。

1 个答案:

答案 0 :(得分:0)

尝试一下

CREATE OR REPLACE TRIGGER test
  BEFORE UPDATE
  ON table 
  FOR EACH ROW 
BEGIN
  IF :new.value < 0 
  then
    :new.value := 0 ;
  end if;
END

CREATE OR REPLACE TRIGGER NumberOfBooks
    BEFORE INSERT
    ON book
    FOR EACH ROW
WHEN (new.value < 0)
BEGIN 
    :new.salary := 0;
END;