Sql 我的缺勤功能不能正常工作

Sql 我的缺勤功能不能正常工作,sql,database,postgresql,sql-function,Sql,Database,Postgresql,Sql Function,嘿,我想创建一个函数,为学生添加缺勤,如果他在一种材料中有3次缺勤,这意味着他被淘汰了,我想创建一个函数,添加缺勤,他达到3次缺勤,这意味着他被淘汰了,但问题是,当我尝试该函数时,它不会添加到上一个表中,而是创建另一行 CREATE TABLE abssance ( id_abssance SERIAL PRIMARY KEY, id_etudiant int, id_matiere int, abss int, eliminé int ); 始终返回0不

嘿,我想创建一个函数,为学生添加缺勤,如果他在一种材料中有3次缺勤,这意味着他被淘汰了,我想创建一个函数,添加缺勤,他达到3次缺勤,这意味着他被淘汰了,但问题是,当我尝试该函数时,它不会添加到上一个表中,而是创建另一行

CREATE TABLE abssance (
  id_abssance     SERIAL PRIMARY KEY,
  id_etudiant int,
    id_matiere int,
    abss int,
  eliminé  int
);
始终返回0不会在我要更新的实际行中添加其他值

我得到的结果是

但我想要这样
如果abss=3,它将在更新的
where
子句的eliminé上添加1。从逻辑上讲,您不希望更新有2次缺勤的所有行,而是为给定的学生/课程更新一行

update  abssance 
set abss= abssancee + 1 
WHERE id_etudiant=etudiant AND id_matiere=matiere;
类似地,
elimine
的更新缺少更新适当学生的
where
子句

update abssance 
set eliminé=1 
WHERE id_etudiant=etudiant;

更新的
where
子句听起来是错误的。从逻辑上讲,您不希望更新有2次缺勤的所有行,而是为给定的学生/课程更新一行

update  abssance 
set abss= abssancee + 1 
WHERE id_etudiant=etudiant AND id_matiere=matiere;
类似地,
elimine
的更新缺少更新适当学生的
where
子句

update abssance 
set eliminé=1 
WHERE id_etudiant=etudiant;

请提供样本数据和所需结果。我按照u所说的进行更新。请提供样本数据和所需结果。我按照u所说的进行更新,在我按照u所说的进行更新后,我不知道,但它只在一个id上工作,然后在我插入另一个id后,它不会添加或显示在abssence数据库中,并且仍然添加另一行,而不是更新acutel行代码中没有插入。。。其他插入而不是更新在我按照你告诉我的那样做后,我不知道,但它只在一个id上工作,然后在我插入另一个id后,它不会添加或显示在abssence数据库中,并且仍然添加另一行而不是更新acutel行代码中没有插入。。。插入其他内容而不是更新