编写一个触发器:在添加期末成绩成绩信息时,利用平时成绩、其中成绩和期末成绩来计算成绩总评。

编写一个触发器:在添加期末成绩成绩信息时,利用平时成绩、其中成绩和期末成绩来计算成绩总评。如果没有期中成绩,则平时和期末成绩比重为2:8,如果有期中成绩,则平时、期中、期末三者比重为2:2:6。
用transact——SQL语句写。
成绩存在skc表中,平时、期中、期末成绩和成绩分别为psgrade,qzgrade、qmgrade、grade

编写一个触发器:在添加期末成绩成绩信息时,利用平时成绩、其中成绩和期末成绩来计算成绩总评。如果没有期中成绩,则平时和期末成绩比重为2:8,如果有期中成绩,则平时、期中、期末三者比重为2:2:6。
用transact——SQL语句写。
成绩存在skc表中,平时、期中、期末成绩和成绩分别为psgrade,qzgrade、qmgrade、grade
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-30
createtrigger tri_student_course
on student_course
forinsert
as
begin
declare @nMark float,@eMark float
declare @sNo varchar(10),@ccNo char(10)
select @nMark=NormalMark,@eMark=ExamMark,@sNo=sno,@ccNo=ccNO
from inserted
update student_course
set mark=convert(int,@nMark*0.2+@eMark*0.8)
where sNo=@sNo and ccNo=@ccNo
end
其中的判断我也不知道怎么做大概是if exists(select * from syscolumns whereid=object_id('student_course') and name='sno')
但是一加进去就会报错。本回答被网友采纳
相似回答