在包ROME中定义了一个函数get_value,返回一个游标:
CREATE OR REPLACE PACKAGE TEST AS
TYPE Test_Cursor IS REF CURSOR;
Function get_value(V_num IN int) return Test_Cursor ;
END;
CREATE OR REPLACE PACKAGE BODY TEST IS
Function get_value(V_num IN int) return Test_Cursor
Is
v_temp Test_Cursor ;
BEGIN
OPEN v_temp FOR
SELECT * FROM emp WHERE score>V_num;
return v_temp;
END GetStudent;
END;
调用方式:
Declare
v_cur TEST.Test_Cursor:=TEST.get_value(75);
v_no emp.no%Type;
v_Name emp.name%Type;
Begin
Loop
EXIT WHEN NOT v_cur%FOUND;
Fetch test into v_no, v_name;
Dbms_OutPut.put_line(v_no || ' ' ||v_name);
END LOOP;
END;
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/77580/viewspace-212773/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/77580/viewspace-212773/