r0xdrig0
hay un tipo de variable en pl/pgsql llamada record, que puede recoger el valor de las variables de una consulta para usarlas despues.
Como se usa?
Te mostraré un pequeño ejemplo de como hago uso del valor de cierto campo en la base de datos.
Código sql:
Ver originalCREATE OR REPLACE FUNCTION datosbs(codigo CHARACTER VARYING, fechabs DATE)
RETURNS DOUBLE PRECISION AS
$BODY$
DECLARE
regBS record;
BS DOUBLE PRECISION;
BEGIN
SELECT INTO regBS qtotal FROM bsol WHERE iestacion = codigo AND fecbsol = fechaBS;
BS := regBS.qtotal;
RETURN BS;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;
ALTER FUNCTION datosbs(codigo CHARACTER VARYING, fechabs DATE) OWNER TO postgres;
En regBS se almacena el valor de qtotal que es un campo de la tabla bsol.
Es muy importante la clausula INTO.
Despues la retorno como variable.
Espero te sirva.
Cuentanos como te va.