数据库实验1-6参考答案 联系客服

发布时间 : 星期四 文章数据库实验1-6参考答案更新完毕开始阅读0be4002a0066f5335a812144

存储过程代码:

CREATE PROC STUDENT_GRADE2 @DEPT CHAR(20) AS

SELECT STUDENT.SNO,SNAME,CNAME,GRADE FROM STUDENT,SC,COURSE WHERE STUDENT.SNO=SC.SNO

AND SC.CNO=COURSE.CNO AND SDEPT=@DEPT

ORDER BY STUDENT.SNO ASC

执行存储过程代码:EXEC STUDENT_GRADE2 '信息系'

(3)建立存储过程student_Grade3,功能是根据参数提供的学生的姓名和课程名,查询该学生相应的课程成绩,若存在不为空的成绩,则返回参数值为成绩值,否则返回-1。

存储过程代码:

CREATE PROC STUDENT_GRADE3 @STUDENT_NAME CHAR(7), @COURSE_NAME CHAR(50), @X SMALLINT OUTPUT AS

SELECT @x=grade FROM STUDENT,SC,COURSE WHERE STUDENT.SNO=SC.SNO AND SC.CNO=COURSE.CNO AND SNAME=@STUDENT_NAME AND CNAME=@COURSE_NAME IF(@X IS NOT NULL) RETURN @x ELSE

SET @x=-1 RETURN @x

执行存储过程代码: DECLARE @X SMALLINT

EXEC STUDENT_GRADE3 '李勇','VB',@X OUTPUT PRINT @X 结果输出:87

DECLARE @X SMALLINT

EXEC STUDENT_GRADE3 '李勇','计算机导论',@X OUTPUT PRINT @X 结果输出:-1

25

(4)建立存储过程check_Xk,功能是根据提供的参数学号和课程号,完成选课记录的插入功能。要求如下:

? 首先检查该课程选课人数是否已满(可自己根据表中数据的情况定义一个限

定值),若满,则返回一个0;若不满,继续检查该学生是否已经选满3门课程,若满,则返回-1,否则将选课记录插入到SC表中,并返回1。 存储过程代码:

create procedure check_xk @sno char(10),@cno char(10) as

if (select count(*) from sc where cno=@cno)>=5 return 0 else begin

if (select count(*) from sc where sno=@sno)>=3 return -1 else begin

insert into sc(sno,cno) values(@sno,@cno) return 1 end end

执行存储过程代码: declare @i int

exec @i=check_xk '9531103','C03' print @i

四、实验小结

五、评阅成绩

实验预习20% 实验过程20% 实验结果30% 实验报告30% 总成绩

26