PDA

Ver la Versión Completa : funcion postgres para devolver nombre del mes


banthas
28-12-2015, 17:28:47
Hola a toda la comunidad estoy desarrollando una funcion (por cierto odio las funciones porq no entiendo como retornan los datos si me podrian explicar les agradeceria )
Esta es mi funcion


CREATE OR REPLACE FUNCTION consulta(mes int)
RETURNS TABLE (
mes_n text)
AS

$BODY$
DECLARE
nombre text;

BEGIN
IF mes =1 THEN mes_n:='ENERO'; END IF;
RETURN;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE
COST 100;


Pero cuando ejecuto esto

select * from consulta(1)

NO me sale ningun resultado porq??? ayuda por favor!

Casimiro Notevi
28-12-2015, 17:38:09
Pero cuando ejecuto esto Código SQL [-]select * from consulta(1)


NO me sale ningun resultado porq??? ayuda por favor!

A ver qué código estás usando.

Osorio
28-12-2015, 17:56:24
Puede ser el tipo de dato que estas reotrnando lo tienes como table prueba con un simple varchar

CREATE OR REPLACE FUNCTION consulta(mes int)
RETURNS varchar

AS

$BODY$
DECLARE
nombre varchar;

BEGIN
IF mes =1 THEN nombre:='ENERO'; END IF;

RETURN nombre;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE
COST 100;

banthas
28-12-2015, 19:43:44
Eres un genio! Osorio... en pocas palabras basta con poner solo el tipo de dato que retornara la funcion .. es tan simple q me siento un tonto

Osorio
28-12-2015, 22:14:28
Eres un genio! Osorio...

es tan simple q me siento un tonto


Ni lo uno, ni lo otro. Todos acá somos desconocedores de algo que otros conocen (o saben donde esta) y esa es la filosofia del foro.


Saludos.