declare
v_ModelID ...;
v_depname ...;
v_ModelName ...;
v_opername ...;
p_rc1 get_modal_2_pkg.myrctype;
begin
get_modal_2_pkg.get_modal_2(p_rc1);
loop
fetch prc1 into v_ModelID,v_depname,v_ModelName,v_opername;
exit when p_rc1%notfound;
dbms_output.put_line(v_ModelID||v_depname||v_ModelName||v_opername);
end loop;
end;
/
v_ModelID ...;
v_depname ...;
v_ModelName ...;
v_opername ...;
p_rc1 get_modal_2_pkg.myrctype;
begin
get_modal_2_pkg.get_modal_2(p_rc1);
loop
fetch prc1 into v_ModelID,v_depname,v_ModelName,v_opername;
exit when p_rc1%notfound;
dbms_output.put_line(v_ModelID||v_depname||v_ModelName||v_opername);
end loop;
end;
/
opername varchar2(10);
operid number(6,1);
p_rc1 get_modal_2_pkg.myrctype;
begin
get_modal_2_pkg.get_modal_2(p_rc1);
loop
fetch prc1 into opername,operid;
exit when p_rc1%notfound;
dbms_output.put_line(opername||operid);
end loop;
end;
按照你写的那样做了,但是还是不行
另外我们以前用sql server 2000 现在想用oracle 我们的存储过程几乎都是返回记录集然后再客户端html网页中处理,我们用sql server 2000 时是很方便的,但到oracle后会不会太复杂了
错误:
ORA-06550: 第 4 行, 第 8 列:
PLS-00201: 必须说明标识符 'GET_MODAL_2_PKG.MYRCTYPE'
ORA-06550: 第 4 行, 第 8 列:
PL/SQL: Item ignored
ORA-06550: 第 6 行, 第 29 列:
PLS-00320: 此表达式的类型说明不完整或格式不正确
ORA-06550: 第 6 行, 第 1 列:
PL/SQL: Statement ignored
ORA-06550: 第 8 行, 第 7 列:
PLS-00201: 必须说明标识符 'PRC1'
ORA-06550: 第 8 行, 第 1 列:
PL/SQL: SQL Statement ignored
ORA-06550: 第 9 行, 第 11 列:
PLS-00320: 此表达式的类型说明不完整或格式不正确
ORA-06550: 第 9 行, 第 1 列:
PL/SQL: Statement ignore
TYPE myrctype IS REF CURSOR;
end GET_MODAL_2_PKG;
/
CREATE OR REPLACE PROCEDURE get_modal_2(p_rc OUT GET_MODAL_2_PKG.myrctype)
is
BEGIN
OPEN p_rc FOR
--select ModelID,depname,ModelName,opername,'' from InHosCureNameModel a,dep_table b,opertable c
--where a.depid=b.depid and a.operid=c.operid ;
'select * from clinic.operaccount';
END get_modal_2;
/declare
opername varchar2(10);
operid number(6,1);
p_rc1 get_modal_2_pkg.myrctype;
begin
get_modal_2(p_rc1);
loop
fetch p_rc1 into opername,operid;
exit when p_rc1%notfound;
dbms_output.put_line(opername||operid);
end loop;
end;
/