第一范文网 - 专业文章范例文档资料分享平台

数据库系统及应用教程(SQL Server 2008)习题1-8章答案

来源:用户分享 时间:2025/5/15 7:20:52 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

WHERE SNAME=@S_NAME

GO

6.在教学管理数据库中,创建一个名为GRADE_INFO的存储过程,其功能是查询某门课程的所有学生成绩。显示字段为:CNAME,SNO,SNAME,GRADE。

解:

USE JXGL GO

CREATE PROCEDURE GRADE_INFO @C_NAME VARCHAR(50)

AS

SELECT CNAME,SC.SNO,SNAME,GRADE

FROM S JOIN SC ON S.SNO=SC.SNO JOIN C ON SC.CNO=C.CNO AND CNAME=@C_NAME

GO

7.在教学管理数据库中,创建一个INSERT触发器TR_C_INSERT,当在C表中插入一条新记录时,触发该触发器,并给出“你插入了一门新的课程!”的提示信息。

解:

CREATE TRIGGER TR_C_INSERT ON C FOR INSERT

AS

PRINT '你插入了一门新的课程!'

GO

8-8 在教学管理数据库中,创建一个AFTER触发器,要求实现以下功能:在SC表上创建一个插入、更新类型的触发器TR_GRADE_CHECK,当在GRADE字段中插入或修改成绩后,触发该触发器,检查分数是否在0~100之间。

解:

CREATE TRIGGER TR_GRADE_CHECK ON SC FOR

INSERT,UPDATE

AS

DECLARE @SC_grede tinyint SELECT @SC_grade=SC.grade FROM SC

IF (@SC_grade NOT BETWEEN 0 AND 100)

PRINT '你插入的成绩不在0~100之间!'

GO

9.在教学管理数据库中,创建用户定义函数C_MAX,根据输入的课程名称,输出该门课程最高分数的同学学号。

解:

USE JXGL GO

25

CREATE FUNCTION C_MAX (@C_NAME CHAR(8)) RETURNS REAL AS

BEGIN

DECLARE @S_MAX REAL SELECT @S_MAX=MAX(GRADE)

FROM SC JOIN C ON SC.CNO=C.CNO AND C.CNAME=@C_NAME RETURN @S_MAX

END GO

10.在教学管理数据库中,创建用户定义函数SNO_INFO,根据输入的课程名称,输出选修该门课程的学生学号、姓名、性别、系部、成绩。

解:

USE JXGL GO

CREATE FUNCTION SNO_INFO (@C_NAME CHAR(8)) RETURNS TABLE AS

RETURN(SELECT S.SNO,SNAME,SEX,SDEPT,GRADE

FROM S JOIN SC ON S.SNO=SC.SNO JOIN C ON SC.CNO=C.CNO AND C.CNAME=@C_NAME)

GO

26

数据库系统及应用教程(SQL Server 2008)习题1-8章答案.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c3u3zf4m8ld02tjb2irc3_7.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top