/*
* 1:declare块中定义显示游标,并且指定游标读取的SQL语句。
2:在begin块打开游标。
3:从游标中提取数据。
4:关闭游标
*/
declare
cursor cs_user is
Select * From T_Userinfo order by userid;
v_row t_userinfo%rowtype;
begin
open cs_user;
--从游标中提取数据。
loop
fetch cs_user
into v_row;
if cs_user%notfound then
exit;
end if;
dbms_output.put_line(v_row.userid || ' ' || v_row.username);
end loop;
close cs_user;
--使用while循环。
dbms_output.put_line('=========While循环=========');
open cs_user;
fetch cs_user
into v_row;
while cs_user%found loop
dbms_output.put_line(v_row.userid || ' ' || v_row.username);
fetch cs_user
into v_row;
end loop;
close cs_user;
--使用for循环。
--1:自动打开游标、自动关闭游标。
--2:游标可以不定义。
--3:变量可以不定义
dbms_output.put_line('=========for循环=========');
for v_row in cs_user loop
dbms_output.put_line(v_row.userid || ' ' || v_row.username);
end loop;
for v_row in (Select * From T_Sys_Menu order by menu_id asc) loop
dbms_output.put_line(v_row.menu_id || ' ' || v_row.menu_name);
end loop;
end;
11显式游标
最新推荐文章于 2024-03-08 10:15:47 发布