I
在这篇文章中介绍如何使用存储过程处理参考游标
1.创建必要的表和样例数据
CREATE TABLE USER_INFO
(
User_ID integer primary key,--Primary key
User_Name varchar2(20),
sex varchar2(2)
);
insert into user_info(user_name,sex) values('David.Tian','M');
insert into user_info(user_name,sex) values('Lucy','F');
commit;
select * from user_info;
2. 创建存储过程,其参数类型为SYS_REFCURSOR
create or replace procedure getResult(p_cursor out sys_refcursor)
as
begin
open p_cursor for
select * from user_info;
end;
3. 下面的代码块演示如何使用存储过程中的参考游标
declare
v_cursor sys_refcursor;
u user_info%rowtype;
begin
getResult(v_cursor);
loop
fetch v_cursor into u.user_id, u.user_name,u.sex;
exit when v_cursor%notfound;
dbms_output.put_line(u.user_id||'-'||u.user_name||'-'||u.sex);
end loop;
end;
/