数据库StudentCourse 有表SC含Sno作学号,Cno作课程号,Grade作成绩。表Student含Sno作学号,Sname作姓名,Ssex作性别,Sbirthday作出生日期,Sdept作所在系,Memo作备注。表Course含Cno作课程号,Cname作姓名,PreCourse作先行课,PreCno作先行课程号,Credit作学分,Semester作开课学期。 (1)在SQLServerManagementStudio中,新建存储过程,系统自动生成一个查询窗口。(2)在该查询窗口中设计3种不使用参数的、使用输入参数的、使用输出参数的存储过程.并调用存储过程进行测试。①创建查找所有课程的存储过程procGetAllCourses。并调用该存储过程,数显示所有课程的信息。EXECUTEprocGetAllCourses②创建删除某一学生记录的存储过程procDeleteStu。并调用该存储过程,删除050101学生的信息。③创建一个存储过程procGetAvgGradeByCno,它返回指定课程号的该门课程的平均成绩。并调用该存储过程,返回C01课程的平均成绩。
时间: 2023-12-29 15:03:45 浏览: 73
sql语句练习题及答案
(1)创建查找所有课程的存储过程procGetAllCourses:
```
CREATE PROCEDURE procGetAllCourses
AS
BEGIN
SELECT * FROM Course
END
```
调用存储过程:
```
EXECUTE procGetAllCourses
```
(2)创建删除某一学生记录的存储过程procDeleteStu:
```
CREATE PROCEDURE procDeleteStu
@Sno CHAR(8)
AS
BEGIN
DELETE FROM Student WHERE Sno = @Sno
END
```
调用存储过程:
```
EXECUTE procDeleteStu '050101'
```
(3)创建一个存储过程procGetAvgGradeByCno,它返回指定课程号的该门课程的平均成绩:
```
CREATE PROCEDURE procGetAvgGradeByCno
@Cno CHAR(4),
@AvgGrade FLOAT OUTPUT
AS
BEGIN
SELECT @AvgGrade = AVG(Grade)
FROM SC
WHERE Cno = @Cno
END
```
调用存储过程:
```
DECLARE @AvgGrade FLOAT
EXECUTE procGetAvgGradeByCno 'C01', @AvgGrade OUTPUT
SELECT @AvgGrade
```
阅读全文