PostgreSQL - funciones postgres

 
Vista:

funciones postgres

Publicado por Claudia Maria Restrepo P (2 intervenciones) el 20/10/2004 16:18:58
hola!

Espero se encuentren bien, estoy trabajando sobre la base de datos postgres y no he podido hacer una funcion, he leido e incluso he hecho ejemplos que he encontrado en manuales pero nada que funciona, hay algo curioso siempre hay error en la declaracion de las variables.

Gracias por su colaboracion.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:funciones postgres

Publicado por Carlos Chávez (41 intervenciones) el 20/10/2004 19:28:21
Ayudaría mucho que presentaras la función para ver los errores.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:funciones postgres

Publicado por Claudia M. Restrepo (2 intervenciones) el 20/10/2004 22:16:17
Aqui te envio la funcion tal cual la digite en postgresql:

CREATE FUNCTION friko (integer) RETURNS integer AS '
DECLARE
a integer;
BEGIN
SELECT extension FROM persona WHERE cod=$1 ORDER BY extension;
RETURN a;
END;
'LANGUAGE 'sql';

Con esta funcion se busca conocer el numero de la extension asociada a la persona identificada con el codigo que se especifique como parametro de la funcion.

Es una funcion sencilla.

GRACIAS.

Claudia M. Restrepo P.


Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:funciones postgres

Publicado por Carlos Chávez (41 intervenciones) el 26/10/2004 17:28:01
Hola, yo uso plpgsql, nunca he usado el sql para hacer funciones en postgres, te recomiendo que cambies a plpgsql.
Para crear el lenguaje plpgsql en tu base de datos ejecuta el siguiente comando:
createlang plpgsql <tu_base_de_datos>
Ahora tu función la rescribiría de la siguiente forma:

CREATE FUNCTION friko (integer) RETURNS integer AS '
DECLARE
a integer;
BEGIN
SELECT extension INTO a FROM persona WHERE cod=$1 ORDER BY extension;
RETURN a;
END;
'LANGUAGE plpgsql;

has de notar que agregue la palabra INTO y luego una variable, en esta variable se almacenara el resultado de la sql.

y la frase plpgsql no lleva comillas.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar