From: | "Alexander Quilca" <alquilca(at)hotmail(dot)com> |
---|---|
To: | <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Funcion con IF - ELSE |
Date: | 2006-09-12 19:05:43 |
Message-ID: | BAY123-DAV107B70EDDEB1BA2DA8676CC12B0@phx.gbl |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Srs. Listeros tengo la siguiente funcion.
CREATE TYPE "TP_FN_R_GESTOR" AS
(
cod_ges char(11),
nom_ges varchar(200),
rep_ges varchar(200),
des_ges varchar(200)
)
CREATE OR REPLACE FUNCTION "FN_R_GESTOR" (ptipo varchar , pcriterio varchar)
RETURNS SETOF "TP_FN_R_GESTOR" AS
$body$
DECLARE
mres "TP_FN_R_GESTOR";
BEGIN
IF (UPPER(ptipo)='T') THEN -- Trabajadores
BEGIN
FOR mres IN
select
"TRABAJADOR".cod_tra,"TRABAJADOR".cod_tra,"TRABAJADOR".cod_tra,"TRABAJADOR".cod_tra
from "TRABAJADOR"
LOOP
RETURN NEXT mres;
END LOOP;
RETURN;
END;
END IF
END;
$body$
LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER;
-- SELECT * FROM "FN_R_GESTOR"('T','%')
me sale el siguiente error:
ERROR: syntax error at or near "END" at character 433
como hago para que en mi funcion pueda seleccionar con estructuras de tipo
IF THEN ELSE, en mi caso cuando "ptipo" es 'T' selecciona de la tabla
trabajadores y cuando es 'G', debo selecccionar de la tabla 'PROVEEDOR',
donde los tipos que devuelven son exatamnte lo mismo
Atte.
Alexander.
Gracias.
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2006-09-12 19:24:12 | Re: Funcion con IF - ELSE |
Previous Message | Alvaro Herrera | 2006-09-12 19:00:54 | Re: Usuario postgres utilizadno el CRON cada minuto |