(7)利用游标输出“计算机”专业学生的成绩。并用while结构来测试全局变量@@Fetch_Status的返回值。 输出格式如下: 学号------------姓名-----------专业---------课程名字------------成绩
时间: 2023-11-06 12:05:38 浏览: 55
输出学生成绩
为了输出“计算机”专业学生的成绩,我们可以使用游标来遍历学生表,并使用条件语句来筛选出专业为“计算机”的学生。然后,我们可以使用while循环来遍历游标,输出每个学生的成绩。在循环中,我们需要使用@@Fetch_Status来测试游标是否还有更多的行可以读取。以下是代码示例:
```sql
DECLARE
CURSOR student_cursor IS
SELECT 学号, 姓名, 专业, 课程名字, 成绩
FROM 学生表
WHERE 专业 = '计算机';
v_学号 学生表.学号%TYPE;
v_姓名 学生表.姓名%TYPE;
v_专业 学生表.专业%TYPE;
v_课程名字 学生表.课程名字%TYPE;
v_成绩 学生表.成绩%TYPE;
BEGIN
DBMS_OUTPUT.PUT_LINE('学号------------姓名-----------专业---------课程名字------------成绩');
OPEN student_cursor;
LOOP
FETCH student_cursor INTO v_学号, v_姓名, v_专业, v_课程名字, v_成绩;
EXIT WHEN student_cursor%NOTFOUND;
DBMS_OUTPUT.PUT_LINE(v_学号 || '------------' || v_姓名 || '-----------' || v_专业 || '---------'
|| v_课程名字 || '------------' || v_成绩);
WHILE @@FETCH_STATUS = 0 LOOP
FETCH student_cursor INTO v_学号, v_姓名, v_专业, v_课程名字, v_成绩;
EXIT WHEN student_cursor%NOTFOUND;
DBMS_OUTPUT.PUT_LINE(v_学号 || '------------' || v_姓名 || '-----------' || v_专业 || '---------'
|| v_课程名字 || '------------' || v_成绩);
END LOOP;
END LOOP;
CLOSE student_cursor;
END;
```
阅读全文