34,873
社区成员
发帖
与我相关
我的任务
分享
SELECT sum((CASE WHEN 成绩 >= 60 THEN 2 ELSE 0 END)) as 学分,学生姓名
from 成绩表 where ......
create trigger 增加学分 on 学生成绩
after insert
as
update 学生信息 set 学分=学分+(select 学分 from 课程信息表 a inner join inserted b on a.课程名称=b.课程名称) from 学生信息 a inner join inserted b on a.学号=b.学号 where b.成绩>=60
go
create trigger 降低学分 on 学生成绩
after delete
as
update 学生信息 set 学分=学分-(select 学分 from 课程信息表 a inner join deleted b on a.课程名称=b.课程名称) from 学生信息 a inner join inserted b on 学号=b.学号 where b.成绩>=60
go
create trigger 更改学分 on 学生成绩
after update
as
if exists(select 1 from inserted a inner join deleted b on a.学号=b.学号 where a.成绩>=60 and b.成绩<60)
update 学生信息 set 学分=学分+(select 学分 from 课程信息表 a inner join deleted b on a.课程名称=b.课程名称) *
isnull((select 1 from inserted a inner join deleted b on a.学号=b.学号 where a.成绩>=60 and b.成绩<60),1) *
isnull((select 0 from inserted a inner join deleted b on a.学号=b.学号 where a.成绩>=60 and b.成绩>=60),1) *
isnull((select 0 from inserted a inner join deleted b on a.学号=b.学号 where a.成绩<60 and b.成绩<60),1) *
isnull((select -1 from inserted a inner join deleted b on a.学号=b.学号 where a.成绩<60 and b.成绩>=60),1) from 学生信息 a inner join inserted b on a.学号=b.学号
gocreate trigger 增加学分 on 学生成绩
after insert
as
update 学生信息 set 学分=学分+(select 学分 from 课程信息表 a inner join inserted b on a.课程名称=b.课程名称) from 学生信息 a inner join inserted b on a.学号=b.学号 where b.成绩>=60
go
create trigger 降低学分 on 学生成绩
after delete
as
update 学生信息 set 学分=学分-(select 学分 from 课程信息表 a inner join deleted b on a.课程名称=b.课程名称) from 学生信息 a inner join inserted b on 学号=b.学号 where b.成绩>=60
go
create trigger 更改学分 on 学生成绩
after update
as
if exists(select 1 from inserted a inner join deleted b on a.学号=b.学号 where a.成绩>=60 and b.成绩<60)
update 学生信息 set 学分=学分+(select 学分 from 课程信息表 a inner join deleted b on a.课程名称=b.课程名称) *
isnull((select 1 from inserted a inner join deleted b on a.学号=b.学号 where a.成绩>=60 and b.成绩<60),1) *
isnull((select 0 from inserted a inner join deleted b on a.学号=b.学号 where a.成绩>=60 and b.成绩>=60),1) *
isnull((select 0 from inserted a inner join deleted b on a.学号=b.学号 where a.成绩<60 and b.成绩<60),1) *
isnull((select -1 from inserted a inner join deleted b on a.学号=b.学号 where a.成绩<60 and b.成绩>=60),1) from 学生信息 a inner join inserted b on a.学号=b.学号
gocreate trigger 增加学分 on 学生成绩
after insert
as
update 学生信息 set 学分=学分+(select 学分 from 课程信息表 a inner join inserted b on a.课程名称=b.课程名称) from 学生信息 a inner join inserted b on a.学号=b.学号 where b.成绩>=60
go
create trigger 降低学分 on 学生成绩
after delete
as
update 学生信息 set 学分=学分-(select 学分 from 课程信息表 a inner join deleted b on a.课程名称=b.课程名称) from 学生信息 a inner join inserted b on 学号=b.学号 where b.成绩>=60
go
create trigger 更改学分 on 学生成绩
after update
as
if exists(select 1 from inserted a inner join deleted b on a.学号=b.学号 where a.成绩>=60 and b.成绩<60)
update 学生信息 set 学分=学分+(select 学分 from 课程信息表 a inner join deleted b on a.课程名称=b.课程名称) *
isnull((select 1 from inserted a inner join deleted b on a.学号=b.学号 where a.成绩>=60 and b.成绩<60),1) *
isnull((select 0 from inserted a inner join deleted b on a.学号=b.学号 where a.成绩>=60 and b.成绩>=60),1) *
isnull((select 0 from inserted a inner join deleted b on a.学号=b.学号 where a.成绩<60 and b.成绩<60),1) *
isnull((select -1 from inserted a inner join deleted b on a.学号=b.学号 where a.成绩<60 and b.成绩>=60),1) from 学生信息 a inner join inserted b on a.学号=b.学号
gocreate trigger 增加学分 on 学生成绩
after insert
as
update 学生信息 set 学分=学分+(select 学分 from 课程信息表 a inner join inserted b on a.课程名称=b.课程名称) from 学生信息 a inner join inserted b on a.学号=b.学号 where b.成绩>=60
go
create trigger 降低学分 on 学生成绩
after delete
as
update 学生信息 set 学分=学分-(select 学分 from 课程信息表 a inner join deleted b on a.课程名称=b.课程名称) from 学生信息 a inner join inserted b on 学号=b.学号 where b.成绩>=60
go
create trigger 更改学分 on 学生成绩
after update
as
if exists(select 1 from inserted a inner join deleted b on a.学号=b.学号 where a.成绩>=60 and b.成绩<60)
update 学生信息 set 学分=学分+(select 学分 from 课程信息表 a inner join deleted b on a.课程名称=b.课程名称) *
isnull((select 1 from inserted a inner join deleted b on a.学号=b.学号 where a.成绩>=60 and b.成绩<60),1) *
isnull((select 0 from inserted a inner join deleted b on a.学号=b.学号 where a.成绩>=60 and b.成绩>=60),1) *
isnull((select 0 from inserted a inner join deleted b on a.学号=b.学号 where a.成绩<60 and b.成绩<60),1) *
isnull((select -1 from inserted a inner join deleted b on a.学号=b.学号 where a.成绩<60 and b.成绩>=60),1) from 学生信息 a inner join inserted b on a.学号=b.学号
gocreate trigger 增加学分 on 学生成绩
after insert
as
update 学生信息 set 学分=学分+(select 学分 from 课程信息表 a inner join inserted b on a.课程名称=b.课程名称) from 学生信息 a inner join inserted b on a.学号=b.学号 where b.成绩>=60
go
create trigger 降低学分 on 学生成绩
after delete
as
update 学生信息 set 学分=学分-(select 学分 from 课程信息表 a inner join deleted b on a.课程名称=b.课程名称) from 学生信息 a inner join inserted b on 学号=b.学号 where b.成绩>=60
go
create trigger 更改学分 on 学生成绩
after update
as
if exists(select 1 from inserted a inner join deleted b on a.学号=b.学号 where a.成绩>=60 and b.成绩<60)
update 学生信息 set 学分=学分+(select 学分 from 课程信息表 a inner join deleted b on a.课程名称=b.课程名称) *
isnull((select 1 from inserted a inner join deleted b on a.学号=b.学号 where a.成绩>=60 and b.成绩<60),1) *
isnull((select 0 from inserted a inner join deleted b on a.学号=b.学号 where a.成绩>=60 and b.成绩>=60),1) *
isnull((select 0 from inserted a inner join deleted b on a.学号=b.学号 where a.成绩<60 and b.成绩<60),1) *
isnull((select -1 from inserted a inner join deleted b on a.学号=b.学号 where a.成绩<60 and b.成绩>=60),1) from 学生信息 a inner join inserted b on a.学号=b.学号
go
SELECT CASE WHEN 成绩 >= 60 THEN 2 ELSE 0 END AS 学分, 学生姓名
FROM 成绩表