Ver Mensaje Individual
  #4 (permalink)  
Antiguo 19/04/2011, 08:21
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Funciones en MySql

El error puede estar sucediendo porque en MySQL Query Browser no puedes usar la ventana de ejecución de SQL para crear una función o un procedimiento almacenado. Tienes que usar un script editado para ello, y en ese caso te recomiendo que uses la herramienta que te provee el propio MQB en el menú Script>Create Stored Procedure / Function.
Esta herramienta te abre una ventana de script con los encabezados necesarios, en lso cuales puedes ver al principio y al final la misma sentencia: DELIMITER
Esta sentencia es necesaria porque los scripts (SP o SF) se deben crear como un único objeto, y para que ello resulte posible se debe modificar la forma de tomar las sentencias momentáneamente. Con DELIMITER se le cambia durante el proceso de carga el terminador de sentencias (que permite a MySQL saber cuándo tiene que comenzar a ejecutar) y de esa forma se puede escribir conjuntos de múltiples sentencias.
Cuando se completa el script se debe cambiar nuevamente el terminador al estándar para que el script se pueda ejecutar.
Este script en esa interfaz se debe cargar simplemente mandándolo a ejecutar por medio del botón "Execute" de la barra de herramientas.

Using MySQL Query Browser



Manual de MySQL Query Browser

En el phpMyAdmin, se usa la ventana de ejecución de SQL, pero no se colocan los DELIMITER, sino que se usa una casilla de texto abajo del área de codificación. El script se escribe completo y sólo se indica cuál será la forma de indicar el fin del mismo. Los dELIMITER los envía directamente el phpMyAdmin.

__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)