Precisamente
eso son las stored function. En el argot de informática uno habitualmente usa determinados términos técnicos en inglés, que debes aprender a reconocer y dominar. Es parte del lenguaje técnico.
Una
stored function o SF, es una "función almacenada", y que para ser creada se usa habitualmente en todos los DBMS la sentencia de clase DDL que se invoca como "CREATE FUNCTION"...
De igual forma, un
stored procedure o "SP" es un "procedimiento almacenado", que se crea con la sentencia DDL "CREATE PROCEDURE".
En cuanto a lo que yo te sugerí no era usar un SP, sino una
SF.
Prueba de ello es que el codigo que te postee es este:
Código MySQL:
Ver originalDELIMITER $$
RETURN 1; -- Si es macho, devolver 1
RETURN 0; -- Si es hembra, devolver 0
ELSE -- Si el animal no existe en la tabla, INSERT INTO animales
(nombre
, sexo
) VALUES(animal
, "macho"); -- Por defecto será siempre macho RETURN 2; -- Devolvemos 2
Usando eso, tu llamada sería simplemente:
Siendo "animal_id" el alias de salida de la consulta.
¿Está más claro así?