34,588
社区成员
发帖
与我相关
我的任务
分享
drop table sc
create table sc (
考号 int ,
姓名 varchar(10) ,
语文成绩 int default 0 ,
数学成绩 int default 0 ,
英语成绩 int default 0 ,
文综成绩 int default 0 ,
总成绩 int default 0
)
go
insert into sc(考号,姓名) values(1,'张三')
go
create trigger sc_up
on sc after update
as
begin
update sc
set 总成绩 = isnull(sc.语文成绩,0) + isnull(sc.数学成绩,0) + isnull(sc.英语成绩,0) + isnull(sc.文综成绩,0)
from inserted
where sc.考号 = inserted.考号
end
go
select * from sc
go
update sc set 语文成绩 =60 , 数学成绩 = 88 where 考号 = 1
go
select * from sc
(1 行受影响)
考号 姓名 语文成绩 数学成绩 英语成绩 文综成绩 总成绩
----------- ---------- ----------- ----------- ----------- ----------- -----------
1 张三 0 0 0 0 0
(1 行受影响)
(1 行受影响)
(1 行受影响)
考号 姓名 语文成绩 数学成绩 英语成绩 文综成绩 总成绩
----------- ---------- ----------- ----------- ----------- ----------- -----------
1 张三 60 88 0 0 148
(1 行受影响)
create table [学生考试信息表] (
[考号] varchar(20) not null,
[姓名] varchar(20) not null,
[语文成绩] int not null default(0), --默认值0
[数学成绩] int not null default(0),
[英语成绩] int not null default(0),
[文综成绩] int not null default(0),
[总成绩] as [语文成绩]+[数学成绩]+[英语成绩]+[文综成绩] PERSISTED
)