your you number have errorcode error mysql phpmyadmin mysql-error-1064 stored-functions

you - Crear funciones en mysql no funciona-Error 1064



errorcode 1064 mysql (1)

Intenté este ejemplo a través de phpMyAdmin http://www.databasejournal.com/features/mysql/article.php/3569846/MySQL-Stored-Functions.htm

mysql> DELIMITER | mysql> CREATE FUNCTION WEIGHTED_AVERAGE (n1 INT, n2 INT, n3 INT, n4 INT) RETURNS INT DETERMINISTIC BEGIN DECLARE avg INT; SET avg = (n1+n2+n3*2+n4*4)/8; RETURN avg; END|

Esto funcionó

DELIMITER |

La siguiente declaración dio:

Error SQL query: CREATE FUNCTION WEIGHTED_AVERAGE( n1 INT, n2 INT, n3 INT, n4 INT ) RETURNS INT DETERMINISTIC BEGIN DECLARE avg INT; MySQL said: Documentation #1064 - 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 '''' at line 5


Como se menciona en el enlace:

As mentioned in the first stored procedures tutorial, we declare the "|" symbol as a delimiter, so that our function body can use ordinary ";" characters

Puede escribir muchos comandos en diferentes líneas consecutivas. Pero generalmente solo cuando '' ; ''se cumple, la instrucción de agujero se ejecuta.
Poner un carácter DELIMITER significa que MySQL debe esperar hasta que se cierre, no importa si usa '' ; ''o no y solo entonces para interpretar lo que está entre delimitadores.