问题描述
- Update 数据表时自动求如何写SQL语句呢(使用SQL Sever)?(设计触发器或存储过程吧)
-
我有一个学生考试信息表:
考号,姓名,语文成绩,数学成绩,英语成绩,文综成绩,总成绩 (PS:默认各科成绩,总成绩都为 0)
在老师登分时只会登入各个科目的成绩,我使用的是SQL Sever数据库,当老师登入各科成绩时(使用Update),如何触发自动求和?_谢谢!_
解决方案
create trigger trig_学生考试信息表 on 学生考试信息表 for insert as begin declare @sum int@考号 nchar(10) set @考号 = (select 考号 from inserted) set @sum = (select sum(语文成绩+数学成绩+英语成绩+文综成绩) from 学生考试信息表 where 考号 = @考号) update 学生考试信息表 set 总成绩 = @sum where 考号 = @考号 end
解决方案二:
Create Trigger SumScore
On 学生考试信息表 --在表中创建触发器
After Update --Update事件后触发
As --事件触发后所要做的事情
if Update(语文成绩) Or Update(数学成绩) Or Update(英语成绩) Or Update(文综成绩)
Begin
Update 学生考试信息表
Set 总成绩 = I.语文成绩 + I.数学成绩 + I.英语成绩 + I.文综成绩
From 学生考试信息表 T1 Deleted D Inserted I
Where T1.考号 = D.考号
End
解决方案三:
上面的答案有帮助吗?如果还有问题,请提出来,如果对答案满意,请顶一下,并标记为采纳答案,谢谢!
时间: 2024-09-28 19:27:47