其实我只是想通过使用下面的代码返回多个结果行。但是我在调用该函数时只收到了结果集的一行(日期不是问题,因为我在普通的选择查询中检查了相同的日期——它检索了多个结果行)。
如何使用以下函数检索多个结果行?
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;
最佳答案
你所要做的就是添加
RETURNS SETOF record
在参数列表之后。
关于postgresql - 如何在 Postgres 函数中检索多个结果行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58637135/