我有一个Oracle存储过程,它接受/返回REF CURSOR。 结果集包含许多列,比如20个。我知道怎么循环了 光标并将其显示在屏幕上(参见附件)。
我的问题是:无论如何我可以消除我的DECLARE中我必须定义TYPE RECORD的代码。如果返回的结果包含50列,则这将变得乏味。是否有其他选项或更简化的版本,有人可以告诉我?最终我正在寻找最少量的代码 循环返回光标并在屏幕上显示值。
谢谢!
- Oracle程序
Get_Student(ioStu_cursor IN OUT REF CURSOR, iDate IN DATE)
- PL / SQL显示光标中的记录
SET SERVEROUTPUT ON;
declare
c_cursor SYS_REFCURSOR;
type a is record
(
col1 number(10,0);
col2
...
col20
);
c_record a;
begin
Get_Student(c_cursor, to_date('26-apr-2016', 'dd-mon-yyyy'));
loop
fetch c_cursor into c_record;
exit when c_cursor%NOTFOUND;
dbms_output.put_line('col1: ' || c_record.col1);
end loop;