CREATE OR REPLACE FUNCTION ctotal
(IN _campana integer,
OUT columna1 character varying(20),
OUT columna2 character varying(250),
OUT columna3 bigint
)
RETURNS setof record AS
$BODY$
BEGIN
return query select a.codcliente as codcliente,max(cl.nombrecompleto) as nombrecompleto,max(a.idasignaciones) as idasignaciones from asignaciones a left join cliente cl on a.codcliente = cl.codcliente left join cuentas c on a.codcliente = c.codcliente left join gestion g on a.codcliente = g.codcliente where a.idcampana = _campana group by a.codcliente;
END;
$BODY$
LANGUAGE 'plpgsql';
de esta manera le paso parametro.
select ctotal('42');