create or replace procedure GetSettlementParameters(Billno in varchar2,RETURNTABLE out sys_refcursor,RETURNTABLEone out sys_refcursor)
as
begin
open RETURNTABLE for select * from ParameterSettings where ID=Billno;
open RETURNTABLEone for select ORGCODE from ParameterSettings where ID=Billno;
end;
declare
table_out sys_refcursor;
table_outnn sys_refcursor;
begin
GetSettlementParameters('1',RETURNTABLE=>table_out,RETURNTABLEone=>table_outnn);
end;
这样调用啥也没有 只是匿名快已完成
你具体是想做什么?
你这只是打开了两个游标而已,并没有进行其他操作。
oracle的procedure和mysql不一样,不会有任何像select语句一样的表格显示输出,就只是相当于执行了一段程序,以及获得输出参数,你执行的这段,仅仅只是把这两个游标赋值给了table_out 和table_outnn ,如果后面不执行任何代码的话,这段就没有任何意义。
如果你在获取游标后,想看到游标里面的东西,那就得对游标进行循环,对每行的每个字段进行dbms_output.put_line