通过游标从sc表中取出某门课程的成绩信息,包括学号和成绩,并输出(注:无参数游标。其中课程号从键盘输入)
时间: 2024-10-27 14:05:35 浏览: 88
MySQL系列—-创建存储函数、游标的使用
5星 · 资源好评率100%
在SQL中,可以使用游标(Cursor)配合存储过程来实现这个功能。假设你有一个名为`sc`的表,它有`student_id`(学号)和`scores`(成绩)两个字段,你可以编写如下的示例代码:
```sql
DECLARE @course_code NVARCHAR(50) -- 定义一个变量来接收用户输入的课程号
DECLARE course_cursor CURSOR FOR -- 创建一个游标
SELECT student_id, scores
FROM sc
WHERE course_code = @course_code
OPEN course_cursor -- 打开游标
FETCH NEXT FROM course_cursor INTO -- 获取第一条数据并赋值给变量
@student_id, @score
WHILE @@FETCH_STATUS = 0 -- 当还有更多数据时循环
BEGIN
PRINT '学号:' + CAST(@student_id AS VARCHAR) + ', 成绩:' + CAST(@score AS VARCHAR) -- 输出学号和成绩
FETCH NEXT FROM course_cursor INTO @student_id, @score -- 提取下一条记录
END
CLOSE course_cursor -- 关闭游标
DEALLOCATE course_cursor -- 游标处理完毕
```
运行上述代码前,你需要先将`@course_code`设置为你想要查询的具体课程号,然后通过`PRINT`语句显示结果。如果有多条匹配的记录,它会逐条打印出来。
阅读全文