通过游标从sc表中取出某门课程的课程的成绩信息,包括学号和成绩,并输出(注:无参数游标。其中课程号从键盘输入)
时间: 2024-10-27 14:05:18 浏览: 28
MySQL系列—-创建存储函数、游标的使用
5星 · 资源好评率100%
在数据库操作中,你可以使用游标来逐行获取数据。假设你有一个名为sc的表,它存储了学生与课程的成绩记录,你可以编写如下的SQL查询(在PL/SQL环境中,比如Oracle SQL*Plus),结合键盘输入的课程号来获取对应的成绩信息:
```sql
DECLARE
cursor_name CURSOR FOR SELECT 学号, 成绩 FROM sc WHERE 课程号 = :课程号;
course_id VARCHAR2(10); -- 假设课程号最大长度为10
BEGIN
-- 打开游标
OPEN cursor_name;
-- 循环遍历游标中的每一行
LOOP
FETCH cursor_name INTO course_id, 成绩;
EXIT WHEN cursor_name%NOTFOUND; -- 结束循环条件
-- 输出当前行的数据
DBMS_OUTPUT.PUT_LINE('学号: ' || course_id || ', 成绩: ' || 成绩);
END LOOP;
-- 关闭游标
CLOSE cursor_name;
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('Error: ' || SQLERRM);
END;
```
在这个示例中,你需要先将`课程号`的值赋给变量`course_id`,然后运行这个过程。用户需要在程序提示下输入他们想要查询的课程号。
阅读全文