如何让 SQL 触发器在更新时递增 1?
How to get a SQL trigger to increment by 1 on an update?
我正在尝试创建一个触发器,在更新时更新特定行上的一列,但出现此错误
ORA-04091: table table_name is mutating, trigger/function may not see it
等我去试扳机的时候
这是我的触发代码:
CREATE OR REPLACE TRIGGER tblTrigger
AFTER UPDATE
ON employees
FOR EACH ROW
BEGIN
UPDATE employees
SET revisions = revisions + 1
WHERE ID = ID;
END;
/
假设只更新某些员工 ID 修订
您需要像这样删除 BEGIN
...END
:
CREATE TRIGGER tblTrigger AFTER INSERT ON employees
FOR EACH ROW
UPDATE employees SET revisions = revisions + 1 WHERE ID = NEW.ID;
我正在尝试创建一个触发器,在更新时更新特定行上的一列,但出现此错误
ORA-04091: table table_name is mutating, trigger/function may not see it
等我去试扳机的时候
这是我的触发代码:
CREATE OR REPLACE TRIGGER tblTrigger
AFTER UPDATE
ON employees
FOR EACH ROW
BEGIN
UPDATE employees
SET revisions = revisions + 1
WHERE ID = ID;
END;
/
假设只更新某些员工 ID 修订
您需要像这样删除 BEGIN
...END
:
CREATE TRIGGER tblTrigger AFTER INSERT ON employees
FOR EACH ROW
UPDATE employees SET revisions = revisions + 1 WHERE ID = NEW.ID;