Sql 我的缺勤功能不能正常工作
嘿,我想创建一个函数,为学生添加缺勤,如果他在一种材料中有3次缺勤,这意味着他被淘汰了,我想创建一个函数,添加缺勤,他达到3次缺勤,这意味着他被淘汰了,但问题是,当我尝试该函数时,它不会添加到上一个表中,而是创建另一行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不
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行代码中没有插入。。。插入其他内容而不是更新