使用游标循环打印所有学生姓名,学生表如下:
SQL> select * from t_student;
SID SNAME SSEX SBIRTHDAY STEL SCLASS
----- ---------- ---- ---------- ------------- ------
10001 张三丰 f 1986/4/1 13697855678 1
10002 姚明 m 1978/6/6 13680888086 2
10003 马云 m 1986/5/23 13520035611 1
10004 张朝阳 m 1971/9/8 15597844378 3
10005 杨澜 f 1973/7/3 13897856666 2
10006 白岩松 m 1972/11/11 13266668888 3
10007 李娜 m 1972/11/11 13266668888 3
7 rows selected
源码:
declare
v_name t_student.sname%type;
Cursor cur_stu Is select sname from t_student;
begin
Open cur_stu;
Loop
Fetch cur_stu Into v_name;
Exit When cur_stu%NotFound;
dbms_output.put_line('学生姓名:'||v_name);
End Loop;
Close cur_stu;
end;
结果:
SQL> declare
2 v_name t_student.sname%type;
3 Cursor cur_stu Is select sname from t_student;
4 begin
5 Open cur_stu;
6 Loop
7 Fetch cur_stu Into v_name;
8 Exit When cur_stu%NotFound;
9 dbms_output.put_line('学生姓名:'||v_name);
10 End Loop;
11 Close cur_stu;
12 end;
13 /
学生姓名:张三丰
学生姓名:姚明
学生姓名:马云
学生姓名:张朝阳
学生姓名:杨澜
学生姓名:白岩松
学生姓名:李娜
PL/SQL procedure successfully completed