SQL数据库触发器程序

时间:2014-12-14 22:40:40

标签: sql database oracle triggers

创建一个触发器(UpdateTrigger),输出一条消息“学生记录将要更新”在更新发生在学生表之前

然后更新表StudentsInfo 通过将StudentsUpdated值增加一个。

我需要找出一种方法将更新值的增加值放在同一个sql语句中,但我无法让它工作。我尝试了一百万种不同的方式。得到了答案!

create or replace trigger update_studentsinfo
       before update on studentsinfo for each row
         begin
    dbms_output.put_line('Student Record is going to be updated');
    :new.studentsupdated := :old.studentsupdated +1;
         End;

3 个答案:

答案 0 :(得分:1)

触发器应该在更新之前和每行之后

https://docs.oracle.com/database/121/LNPLS/create_trigger.htm#LNPLS01374

答案 1 :(得分:1)

我认为您需要在oracle中使用完全限定名称引用名称。在这种情况下,studentupdated是你的表。我建议您使用oracle IDE创建触发器并使用生成的脚本。我希望这可以帮助你解决问题。

答案 2 :(得分:0)

您可以尝试“在更新之前”