如下是一个类似的例子,你目前用的是游标变量,不能用方法!
SQL> declare
2
3 TYPE T_CURSOR IS REF CURSOR;
4
5 FUNCTION GET_USERINFO(ALARMINDEXNAME VARCHAR2)
6 RETURN T_CURSOR
7 IS
8 LIST T_CURSOR;
9 BEGIN
10 OPEN LIST FOR select * from dept;
11
12 RETURN LIST;
13
14 END GET_USERINFO;
15
16 PROCEDURE ALARM_BLOCKCORRUPTION
17 IS
18 v_alarm_cursor T_CURSOR := GET_USERINFO('1');
19 v_rec dept%rowtype;
20 BEGIN
21
22 loop
23 fetch v_alarm_cursor into v_rec;
24 exit when v_alarm_cursor%notfound;
25 dbms_output.put_line(v_rec.deptno || ' ' || v_rec.dname);
26 end loop;
27
28 END ALARM_BLOCKCORRUPTION;
29
30 begin
31 ALARM_BLOCKCORRUPTION;
32 end;
33 /
10 ACCOUNTING
20 RESEARCH
30 SALES
40 OPERATIONS
PL/SQL procedure successfully completed
SQL>