SQL创建一个插入触发器

[复制链接]
查看11 | 回复2 | 2010-12-15 16:47:10 | 显示全部楼层 |阅读模式
为表student_course,当向表student_course插入数据时,如果成绩大于等于60分,该学生就能得到相应的学分,否则该学生不能得到相应的学分
知道答案了!
CREATE TRIGGER sc_tri ON student_course
FOR INSERT
AS
update student_course
set credit =
case
when sc.grade=60 then
(select c.credit
from course c
where sc.course_id=c.course_id)
end
from student_course sc,inserted i
where sc.student_id=i.student_id and sc.course_id=i.course_id

回复

使用道具 举报

千问 | 2010-12-15 16:47:10 | 显示全部楼层
直接创建一个计算字段,学分=case when 学分 >= 60 THEN 学分 ELSE 0 END
回复

使用道具 举报

千问 | 2010-12-15 16:47:10 | 显示全部楼层
能不能得到该学分是怎么标志的在系统里,是有个字段(Y/N)还是有一张表记录相关信息?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行