Ver Mensaje Individual
  #3 (permalink)  
Antiguo 21/12/2012, 08:49
kies89
 
Fecha de Ingreso: septiembre-2012
Ubicación: Madrid
Mensajes: 89
Antigüedad: 11 años, 7 meses
Puntos: 1
Busqueda Respuesta: Error en función

Perdón xD, se me olvidó esa parte en esta función.

Este es el nuevo código de la función:
Código MySQL:
Ver original
  1. DELIMITER $$
  2. CREATE FUNCTION web.animales(animal VARCHAR(15) RETURNS TINYINT(1))
  3.   IF (SELECT COUNT(nombre) FROM animales WHERE nombre=animal) > 0  THEN -- Si el animal ya existe en la tabla,
  4.     IF (SELECT sexo FROM animales WHERE nombre=animal) = "macho" THEN -- Comprobar si es macho o hembra
  5.       RETURN 1; -- Si es macho, devolver 1
  6.     ELSE
  7.       RETURN 0; -- Si es hembra, devolver 0
  8.     END IF;
  9.   ELSE -- Si el animal no existe en la tabla,
  10.     INSERT INTO animales(nombre, sexo) VALUES(animal, "macho"); -- Por defecto será siempre macho
  11.     RETURN 2; -- Devolvemos 2
  12.   END IF;
  13. END $$
Y este es el error que sigue dando:
Cita:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version
for the right syntax to use near 'RETURNS TINYINT(1))
MODIFIES SQL DATA
BEGIN
IF (SELECT COUNT(nombre) FROM anim' at line 1

Última edición por gnzsoloyo; 21/12/2012 a las 11:13 Razón: Mal etiquetado