Oracle游标,从字面理解就是游动的光标。用数据库语言来描述就是:游标是映射在结果集中一行数据上的位置实体,有了游标,用户就可以访问结果集中的任意一行数据了,将游标放置到某行后,即可对该行数据进行操作,例如提取当前行的数据等。
游标分为显示游标和隐式游标。
要使用显示游标分为四步:
1.声名游标。
cursor sel_names is select * from names;
2.打开游标。
open sel_names;
3.读取数据。
fetch sel_name into RowTypeVariable;
4.关闭游标。
close sel_name;
Oracle游标的属性:
1.%ISOPEN判断游标是否被打开,如果打开%ISOPEN等于true,否则等于false;
2.%FOUND判断游标所在的行是否有效,如果有效,则%FOUND等于true,否则等于false;
3.%ROWCOUNT返回当前位置为止游标读取的记录行数。
例子:
set serveroutput on;
declare
temp_name varchar2(32);
cursor sel_name
is
select * from names;
begin
if sel_names%isopen = false then
open sel_names;
end if;
fetch sel_names into temp_name;
while sel_names%found loop
dbms_output.put_line('name: '||temp_name);
if sel_names%rowcount=200 then
exit;
end if;
fetch sel_names into temp_name;
end loop;
close sel_names;
end;
/
游标分为显示游标和隐式游标。
要使用显示游标分为四步:
1.声名游标。
cursor sel_names is select * from names;
2.打开游标。
open sel_names;
3.读取数据。
fetch sel_name into RowTypeVariable;
4.关闭游标。
close sel_name;
Oracle游标的属性:
1.%ISOPEN判断游标是否被打开,如果打开%ISOPEN等于true,否则等于false;
2.%FOUND判断游标所在的行是否有效,如果有效,则%FOUND等于true,否则等于false;
3.%ROWCOUNT返回当前位置为止游标读取的记录行数。
例子:
set serveroutput on;
declare
temp_name varchar2(32);
cursor sel_name
is
select * from names;
begin
if sel_names%isopen = false then
open sel_names;
end if;
fetch sel_names into temp_name;
while sel_names%found loop
dbms_output.put_line('name: '||temp_name);
if sel_names%rowcount=200 then
exit;
end if;
fetch sel_names into temp_name;
end loop;
close sel_names;
end;
/