想要学习触发器并在以下任务中执行它

时间:2019-07-17 07:02:02

标签: sql postgresql

我有这张桌子

标记:

ID bigserial
Name VARCHAR(50)
Maths, Eng, Science, SST int
Status VARCHAR(10)
ID  | Name   | Maths | English | Science | SST  | Status

我想创建一个触发器,以便每当我插入或更新标记时,它就会计算标记的平均值,如果该平均值大于40%,则状态栏应显示“通过”,否则显示“失败”。

请帮帮我,如有可能,请编写触发器和函数创建的基本语法

1 个答案:

答案 0 :(得分:0)

触发器用于基于事件的动作 故意。尽管您的查询与触发器完全不相关,但以下示例还是可以稍微解决您的上述查询的示例

       CREATE TRIGGER SAMPLE 
       ON TABLE AFTER INSERT OR 
        UPDATE
        AS   
        BEGIN  

        Update Table Set Status =
        (Select  
       case 
       when  
  ((Maths+Eng+Science+Sst)/4)*100>40
       then Status='Pass' Else Status='Fail'
       END from 
     inserted i ) where table.id=i.id;

         END