如何在Postgres函数中检索多个结果行?

问题描述 投票:0回答:1

实际上,我只想通过使用下面的代码返回多个结果行。但是调用函数时,我只收到结果集的一行(日期不是问题,因为我在正常的选择查询中检查了相同的日期–它检索了多个结果行)。

如何使用以下功能检索多个结果行?

CREATE OR REPLACE FUNCTION fun_audit_trail(in as_on_date date, out mail_id varchar, out user_id varchar, out user_name varchar, 
        out last_login_time timestamp, out last_logout_time timestamp, out logout_flag varchar, out user_available_flag varchar)
 AS 
$BODY$

BEGIN

    select am.am_usrmailid,am.am_usr_loginid,am.am_usr_name,am.am_last_login_time,am.am_last_logout_time,am.am_logout_flag,am.am_usr_available_flag 
    into mail_id,user_id,user_name,last_login_time,last_logout_time,logout_flag,user_available_flag
    from auth_monitor am where am_last_login_time <= as_on_date;

END $BODY$
  LANGUAGE 'plpgsql' COST 100.0 SECURITY INVOKER;
postgresql stored-functions table-functions
1个回答
0
投票

您要做的就是添加

RETURNS SETOF record

在参数列表之后。

© www.soinside.com 2019 - 2024. All rights reserved.