CREATETRIGGER Tri_Grade
ON SC AFTER UPDATE/*后触发型trigger*/AS
IF EXISTS(
SELECT*FROM inserted a join deleted b /*如果更改前和更改后,有小于60分的成绩被改成大于60分*/ON a.Sno =b.Sno and a.Cno=b.Cno
WHERE
b.Grade<60AND a.Grade>=60
)
BEGINROLLBACK
PRINT '不能将不及格成绩改为及格'/*就rollback回溯,并且做出提示*/END
17、 用标量函数实现。查询指定学号同学的不及格课程的门数。
CREATEFUNCTIONdbo.F_count(@Sno CHAR(7)) /*设定函数,变量为sno。*/RETURNSINTASBEGINreturn (
SELECT COUNT(*) FROM SC /*查询这个学号的内容。*/
WHERE Sno=@Sno AND Grade<60
)
END
18、用内联表值函数实现。查询指定学号同学的不及格课程的门数。
CREATEFUNCTIONdbo.F_snoavg(@dept CHAR(20))
RETURNSTABLEAS/*内联表*/RETURN(
SELECT Student.Sno,COUNT(*) 不及格门数
FROM
Student join SC on Student.Sno=Sc.Sno /*多表链接*/
WHERE
Student.Sno=@dept AND Grade<60
GROUP BY student.sno
)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本