现在我正在尝试使用触发器来更新低于2的数字。但是我已经尝试了很多次。更改后,触发器可以正常运行。但是当我执行它时,该数字仍然不能更新为数字小于2的行。 这是我的代码
snow = 10
print("snow : " , snow)
这是样本表
create or replace trigger incrate
after update on student
for each row
BEGIN
update student
set Score = 20
where Score < 2;
END;
/
假设我想更改输出以使得分低于2到20。
因此,执行后,我使用Sid Score
A1 1
A2 62
A3 25
A4 0
。
输出应为select count(*) from student where Score =1;
。
可以给我一些建议以更改此命令,谢谢您的建议。
答案 0 :(得分:0)
您在student
表上的触发器也正在尝试更新同一表。这是一个递归触发器,在某些数据库上甚至不允许使用。建议不要使用触发器,而建议将此逻辑合并到您的更新中:
UPDATE student
SET ...
Score = CASE WHEN Score < 2 THEN 20 ELSE Score END
WHERE ...