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