Postgresql 函数空白结果中的Select语句

Postgresql 函数空白结果中的Select语句,postgresql,function,plpgsql,Postgresql,Function,Plpgsql,我正在使用Postgresql并尝试在函数中调用select语句。目前这个电话给我的结果是零 CREATE OR REPLACE FUNCTION f_all_male_borrowers ( OUT p_given_names varchar(60), OUT p_family_name varchar(60), OUT p_gender_code integer ) RETURNS SETOF record as $body$ declare body text; BEGIN SE

我正在使用Postgresql并尝试在函数中调用select语句。目前这个电话给我的结果是零

CREATE OR REPLACE FUNCTION f_all_male_borrowers
(
OUT p_given_names varchar(60), 
OUT p_family_name varchar(60), 
OUT p_gender_code integer
)


RETURNS SETOF record as $body$
declare body text;

BEGIN
SELECT into p_given_names,p_family_name, p_gender_code
borrower.given_names, borrower.family_name, gender.gender_code

FROM BORROWER

INNER join gender on borrower.gender_code=gender.gender_code

WHERE borrower.gender_code = '1';

RETURN ;

END;
$body$ LANGUAGE plpgsql;
调用函数:

select * from f_all_male_borrowers()
缺少了什么,或者我做错了什么

多谢各位

CREATE OR REPLACE FUNCTION f_all_male_borrowers
(
OUT p_given_names varchar(60), 
OUT p_family_name varchar(60), 
OUT p_gender_code integer
)
RETURNS SETOF record as 
$body$
SELECT into p_given_names,p_family_name, p_gender_code
borrower.given_names, borrower.family_name, gender.gender_code
FROM BORROWER
INNER join gender on borrower.gender_code=gender.gender_code
WHERE borrower.gender_code = '1';
$body$
LANGUAGE sql VOLATILE
  COST 100
  ROWS 1000;
ALTER FUNCTION f_all_male_borrowers()
  OWNER TO postgres;
试试这个,然后打电话:

select * from f_all_male_borrowers();
在此之前,您需要检查您的查询是否有结果

创建函数后,然后:

Got to Functions->Right click your function(ie,f_all_male_borrowers())-> Scripts->Select Script ->Then run it.
如果返回结果,则您的过程是正确的