Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » PostgreSQL »

Problemas al llamar una funcion

Estas en el tema de Problemas al llamar una funcion en el foro de PostgreSQL en Foros del Web. Hola a todos , soy nuevo en esto de los procedimientos almacenados , he creado uno recientemente y nome da error , pero al llamarlo ...
  #1 (permalink)  
Antiguo 03/06/2009, 15:57
 
Fecha de Ingreso: noviembre-2007
Mensajes: 26
Antigüedad: 16 años, 5 meses
Puntos: 0
Problemas al llamar una funcion

Hola a todos , soy nuevo en esto de los procedimientos almacenados , he creado uno recientemente y nome da error , pero al llamarlo me da este error
control reached end of function without RETURN, me dice que la funcion no tiene retorno
entonces no entiendo bien lo que hay que poner
el codigo que puse fue este
CREATE OR REPLACE FUNCTION actualizar
(character,character, character)
RETURNS character AS
$BODY$
DECLARE
contrato varchar;
fei varchar;
fef varchar;
retorno varchar;
BEGIN
contrato := $1;
fei := $2;
fef := $3;
retorno := (SELECT nombre_area FROM area_trabajo JOIN contrato_trabajo ON
(area_trabajo.cod_area = contrato_trabajo.cod_area) WHERE
contrato_trabajo.id_contrato = contrato AND contrato_trabajo.fi = fei
AND contrato_trabajo.ff = fef);
END;
$BODY$
LANGUAGE 'plpgsql'
  #2 (permalink)  
Antiguo 03/06/2009, 16:09
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Problemas al llamar una funcion

usher.. fijate en la declaración de la función
Cita:
CREATE OR REPLACE FUNCTION actualizar
(character,character, character)
RETURNS character
Le estas diciendo que vas a devolver un character.

En el codigo, debe haber un return character para que te funcione.

Por ejemplo, debes retornar

return retorno; antes del end;

Un saludo
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:22.