Ver Mensaje Individual
  #7 (permalink)  
Antiguo 27/03/2014, 13:35
AndresPal
 
Fecha de Ingreso: febrero-2014
Mensajes: 48
Antigüedad: 10 años, 2 meses
Puntos: 0
Respuesta: Stored Procedure en MySQL 5.0.45 y Apache Web Server Version 2.2.4

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Bien, ¿tuviste en cuenta que en la pestaña de "SQL" en phpMyadmin, no puedes ejecutar el comando DELIMITER?
Ese comando sólo opera cuando usas la consola de MySQL, nada más.
Lo que debes hacer es poner esos "$$" en un textbox que está algo más abajo del área de edicion, donde indica el delimitador a usar, y eliminar las dos líneas con "DELIMITER", así como el punto y coma que te mencioné antes.
Esto es así, porque es el phpMyadmin quien prepara la carga, de acuerdo a esa especificación, y se lo envía a MySQL de un modo que el servidor de BBDD lo pueda administrar bien.
Ok he hecho esto


DROP PROCEDURE IF EXISTS tumba_reserva

CREATE PROCEDURE tumba_reserva ()
BEGIN
DECLARE hora_reserva TIME;
DECLARE hora_actual TIME;
DECLARE estatus INTEGER(1);

SELECT CURRENT_TIME INTO hora_actual;

SELECT estado INTO estatus FROM reservacion_departamento;

IF (estatus = 1) AND (hora_actual >= hora_reserva) THEN
UPDATE reservacion_departamento SET estado = 3;
END IF;
END


y me ha devuelto ahora el siguiente error de sintaxis

Error

consulta SQL: Documentación

DROP PROCEDURE IF EXISTS tumba_reserva CREATE PROCEDURE tumba_reserva( ) ;

BEGIN DECLARE hora_reserva TIME;

DECLARE hora_actual TIME;

DECLARE estatus INTEGER( 1 ) ;

SELECT CURRENT_TIME
INTO hora_actual;

SELECT estado
INTO estatus
FROM reservacion_departamento;

IF( estatus =1 ) AND (
hora_actual >= hora_reserva
) THEN UPDATE reservacion_departamento SET estado =3;

END IF ;

END

MySQL ha dicho: Documentación
#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 'CREATE PROCEDURE tumba_reserva ();
BEGIN
DECLARE hora_reserva TIME; ' at line 3