Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/10/2016, 08:14
p3cn0G
 
Fecha de Ingreso: febrero-2014
Mensajes: 60
Antigüedad: 10 años, 9 meses
Puntos: 0
Problema a la hora de acrear una funcion en Postgresql

Buenas a todos, tengo la siguiente funcion

Código:
alter function tarjetero.insertarEmpresa(
 char varying, 
 integer, 
 integer, 
 char varying, 
 char varying, 
 char varying, 
 char varying, 
 bytea)
RETURNS TEXT AS 
$res$
declare 
	id integer;
begin	

IF EXISTS (SELECT id_empresa
	FROM tarjetero.empresa
	WHERE int_disponible = 0
	LIMIT 1)
	
	then	
	
	SELECT id = id_empresa
	FROM tarjetero.empresa
	WHERE int_disponible = 0
	LIMIT 1;

	UPDATE tarjetero.empresa
	   SET
	   str_nombre=$1, 
	   int_tlf1=$2, 
	   int_tlf2=$3, 
	   str_direccion1=$4, 
	   str_direccion2=$5, 
	   str_direccion3=$6, 
	   str_email=$7, 
	   int_disponible=1, 
	   bytea_img=$8
	 WHERE id_empresa = id;


	return 'Modificado';
ELSE
	INSERT INTO tarjetero.empresa(
            id_empresa, str_nombre, int_tlf1, int_tlf2, str_direccion1, str_direccion2, 
            str_direccion3, str_email, int_disponible, bytea_img)
    VALUES (DEFAULT, $1, $2, $3, $4, $5, 
            $6, $7, 1, $8);

	return 'insertado';
end if;
END
$res$ LANGUAGE plpgsql;

Pero me da el siguiente error:

ERROR: error de sintaxis en o cerca de «TEXT»
LÍNEA 10: RETURNS TEXT AS
^
********** Error **********

ERROR: error de sintaxis en o cerca de «TEXT»
SQL state: 42601
Character: 161


Alguien sabe en que estoy fallando? Por mucho que miro, no le veo el fallo :S