在PL/SQL中使用for循环 编写一个PL/SQL程序,实现以下功能: (a) 声明一个名为c_students的游标,该游标选择以下字段: 学生表中的StudentId、Lname、Fname和Major 专业是“会计” (b) 将上面列出的记录检索到v_sid、v_lname、v_fname、v_major中 (c) 显示检索到的记录

在PL/SQL中使用for循环 编写一个PL/SQL程序,实现以下功能: (a) 声明一个名为c_students的游标,该游标选择以下字段: 学生表中的StudentId、Lname、Fname和Major 专业是“会计” (b) 将上面列出的记录检索到v_sid、v_lname、v_fname、v_major中 (c) 显示检索到的记录,sql,oracle,loops,for-loop,plsql,Sql,Oracle,Loops,For Loop,Plsql,使用。。循环以检索学生表中学生姓氏为“Black”的所有行。显示这些行 解决方案: 我成功地完成了a、b和c部分,如下所示: DROP TABLE IF EXISTS students; CREATE TABLE students( StudentId NUMBER(3), LName VARCHAR2(30), FNAme VARCHAR2(30), Major VARCHAR2(30)); INSERT INTO students VALUES(130,'Bl

使用。。循环以检索学生表中学生姓氏为“Black”的所有行。显示这些行

解决方案: 我成功地完成了a、b和c部分,如下所示:

DROP TABLE IF EXISTS students;
CREATE TABLE students(
    StudentId NUMBER(3),
    LName VARCHAR2(30),
    FNAme VARCHAR2(30),
    Major VARCHAR2(30));
INSERT INTO students VALUES(130,'Black','Judy','Accounting');
INSERT INTO students VALUES(132,'Maw','Richard','Marketing');
INSERT INTO students VALUES(134,'Bessner','Bryan','Finance');
INSERT INTO students VALUES(136,'Shaw','Tim','Accounting');
INSERT INTO students VALUES(138,'Black','Conrad','Sales');

COMMIT;

DECLARE
    cursor c_students IS
    --for rec in (select * from students where 
        select * from students where major like 'Accounting';
    v_sid Number(3);
    v_lname VARCHAR2(30);
    v_fname VARCHAR2(30);
    v_major VARCHAR2(30);
BEGIN   
    open c_students;
    Loop
        Fetch c_students into v_sid, v_lname, v_fname, v_major;
        IF c_students%NOTFOUND Then
            Exit;
        End If;
        dbms_output.put_line(v_sid||' '||v_lname||' '||v_fname||' '||v_major);
    End Loop;
    close c_students;
End;
/
=================================================================================


现在,c之后的最后一部分指出,我需要完成与上面使用for循环所做的相同的事情,而我一辈子都不知道如何在for循环中完成它。我知道for循环不会在Begin部分声明和开始,但我不知道从那里开始。任何帮助都将不胜感激。谢谢大家!

用以下内容替换开环etc。然后可以通过
rec
变量引用光标的列

For rec in c_students
Loop
...
End loop;
第32页或,如果所有其他内容都失败。