Greyscarf 2022-02-08 09:03 采纳率: 0%
浏览 12

有个Oracle 问题 这怎么调用能输出两张表

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;

这样调用啥也没有 只是匿名快已完成

  • 写回答

1条回答 默认 最新

  • DarkAthena ORACLE应用及数据库设计方案咨询师 2022-02-08 15:30
    关注

    你具体是想做什么?
    你这只是打开了两个游标而已,并没有进行其他操作。
    oracle的procedure和mysql不一样,不会有任何像select语句一样的表格显示输出,就只是相当于执行了一段程序,以及获得输出参数,你执行的这段,仅仅只是把这两个游标赋值给了table_out 和table_outnn ,如果后面不执行任何代码的话,这段就没有任何意义。
    如果你在获取游标后,想看到游标里面的东西,那就得对游标进行循环,对每行的每个字段进行dbms_output.put_line

    评论

报告相同问题?

问题事件

  • 创建了问题 2月8日