Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

SP no acepta modificacion

Estas en el tema de SP no acepta modificacion en el foro de Mysql en Foros del Web. Hola amigos, Resulta que tengo el siguiente Stored Procedure Código: DELIMITER $$ DROP PROCEDURE IF EXISTS `prueba`.`dropTablas`$$ CREATE DEFINER=`root`@`%` PROCEDURE `dropTablas`() drop table prueba.analisis_a$$ DELIMITER ...
  #1 (permalink)  
Antiguo 23/07/2009, 12:05
Avatar de locojars  
Fecha de Ingreso: mayo-2002
Mensajes: 265
Antigüedad: 17 años, 7 meses
Puntos: 4
Pregunta SP no acepta modificacion

Hola amigos,

Resulta que tengo el siguiente Stored Procedure
Código:
DELIMITER $$

DROP PROCEDURE IF EXISTS `prueba`.`dropTablas`$$

CREATE DEFINER=`root`@`%` PROCEDURE `dropTablas`()
drop table prueba.analisis_a$$

DELIMITER ;
Lo trate de cambiar agregando un drop para otras tablas, tal como esto:
Código:
DELIMITER $$

DROP PROCEDURE IF EXISTS `prueba`.`dropTablas`$$

CREATE DEFINER=`root`@`%` PROCEDURE `dropTablas`()
drop table prueba.analisis_a$$
drop table prueba.analisis_b$$
drop table prueba.analisis_c$$

DELIMITER ;
Pero no me funciono, porque solamente me deja siempre solo una sentencia de drop, creí que era por el Delimitador($) pero al quitarselo me da un error de sintaxis.

Gracias por su ayuda.

Saludos.
__________________
No le digas a Jehová que tan grande es tu problema, dile a tu problema cuan grande es Jehová.
  #2 (permalink)  
Antiguo 23/07/2009, 17:51
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.321
Antigüedad: 12 años
Puntos: 2653
Respuesta: SP no acepta modificacion

El problema es que estás creando un SP con varias líneas, por lo que todo el código debe quedar en cerrado en un bloque BEGIN/END:
Código sql:
Ver original
  1. DROP PROCEDURE IF EXISTS `dropTablas`;
  2.  
  3. DELIMITER $$
  4.  
  5. CREATE PROCEDURE `dropTablas`()
  6. BEGIN
  7.  
  8.     DROP TABLE prueba.analisis_a;
  9.     DROP TABLE prueba.analisis_b;
  10.     DROP TABLE prueba.analisis_c;
  11.  
  12. END$$
  13.  
  14. DELIMITER ;

Te recomiendo leer el manual de referencia: Capítulo 19. Procedimientos almacenados y funciones

Nota: Es innecesario poner el DROP PROCEDURE dentro de la zona del script con el cambio de delimitadores. Si es necesario para el cuerpo del SP.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:47.