如何在PostgreSQL中使用存储过程调用refcursor中的输出?

rpppsulh  于 2023-02-12  发布在  PostgreSQL
关注(0)|答案(1)|浏览(349)

我想在refcursor中输出,但它不起作用。
我尝试了很多方法来获取refcursor中的输出,有时它会显示〈Unnamed Portal 1〉

CREATE OR REPLACE PROCEDURE "MasterUser".s_m_userapplication(
    v_app_no text,
    INOUT v_refcur refcursor DEFAULT 'rs_resultone'::refcursor)
LANGUAGE 'plpgsql'
AS $BODY$
BEGIN
   open v_refcur for select AM_App_ProcCD,AM_App_ProcDt
   from "MasterUser".Master_Application
   where "MasterUser".appnov1(CAST(AM_AAPP_NO_TYPE AS INTEGER), AM_AAPP_NO_YEAR, AM_AAPP_NO_MONTH, AM_AAPP_NO_SEQ) =(v_App_No);
END;
 
 
 
$BODY$;

ALTER PROCEDURE "MasterUser".s_m_userapplication(text, refcursor)
    OWNER TO USERDBA;
f0brbegy

f0brbegy1#

使用INOUT refcursor时,将始终使用my_procedure调用查看一列和一条记录()。在列值中,您可以查看所选记录。(如图所示)如果您从后端的游标获取数据,你不关心IDE的视图。在后端这是可行的。如果你需要查看像select * from table这样的数据,那么你必须使用函数而不是过程。

相关问题