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

[Error] 1307 - Failed to CREATE PROCEDURE descontar_feriados

Estas en el tema de [Error] 1307 - Failed to CREATE PROCEDURE descontar_feriados en el foro de Mysql en Foros del Web. Estimados junto con saludarlos; nuevamente aqui para consultarles lo siguiente: estoy desarrollando un proyecto en modo local con mysql version 5.5.24 en el cual tengo ...
  #1 (permalink)  
Antiguo 05/10/2012, 12:27
 
Fecha de Ingreso: diciembre-2007
Mensajes: 385
Antigüedad: 16 años, 4 meses
Puntos: 0
[Error] 1307 - Failed to CREATE PROCEDURE descontar_feriados

Estimados junto con saludarlos; nuevamente aqui para consultarles lo siguiente:

estoy desarrollando un proyecto en modo local con mysql version 5.5.24 en el cual tengo un procedimiento almcenado que se ejecuta y me funciona como deseo, pero el problema se me presenta cuando pasa al servidor mysql de produccion q es la version 5.1.3, pues ahi me envia el [Error] 1307 - Failed to CREATE PROCEDURE, y no se pq ya q mysql desde la version 5 soporta procedimientos almacenados en cuanto a error de sintaxis de mi stored procedure no tengo dudas q funciona perfectamente ya q lo he probado en local y hace lo q deseo el procedimiento en cuestion es:

Código MySQL:
Ver original
  1. DELIMITER $$
  2.     DROP PROCEDURE IF EXISTS descontar_feriados $$
  3.     CREATE PROCEDURE descontar_feriados (funCodigo VARCHAR (11), diasPedidos INT)
  4.      
  5.     BEGIN
  6.      
  7.         DECLARE feriado1, feriado2, resultado_fer1, resultado_fer2, resultado_intermedio INT;
  8.         SET feriado1=0;
  9.         SET feriado2=0;
  10.        
  11.      
  12.         SELECT fer_1, fer_2 INTO feriado1, feriado2 FROM datos WHERE Fun_Codigo = funCodigo;
  13.         CASE
  14.  
  15.         WHEN feriado1>=diasPedidos THEN
  16.                 SET resultado_fer1= feriado1 - diasPedidos;
  17.                 UPDATE datos SET fer_1 = resultado_fer1 WHERE Fun_Codigo= funCodigo;
  18.                
  19.             /*feriado1 < a dias pedidos listo*/
  20.         WHEN feriado1 < diasPedidos THEN
  21.            
  22.             SET resultado_fer1 = diasPedidos- feriado1 ;
  23.  
  24.             SET resultado_intermedio = feriado2 - resultado_fer1;
  25.  
  26.             UPDATE datos SET fer_1 = 0 WHERE Fun_Codigo= funCodigo;
  27.             UPDATE datos SET fer_2 = resultado_intermedio WHERE Fun_Codigo= funCodigo;
  28.  
  29.             WHEN feriado2 < diasPedidos AND feriado2<0 THEN
  30.  
  31.             SET resultado_fer2= feriado2;
  32.             UPDATE datos SET fer_2 = feriado2 WHERE Fun_Codigo= funCodigo;
  33.  
  34.    
  35. END$$
  36. DELIMITER ;
por lo q he averiguado haciendole un alter table a la tabla la cual utliza el procedimiento y colocandole esta linea:

ENGINE=ndbcluster DEFAULT CHARSET=latin1

deberia solucionarme el problema, pero antes de ir a proponer cualquier cambio al DBA me gustaria q uds me dieran su opinion o formas de posibles soluciones .... de antemano muchas gracias... bye

Última edición por gnzsoloyo; 05/10/2012 a las 12:28 Razón: Etiqueta errónea para BBCode
  #2 (permalink)  
Antiguo 07/10/2012, 15:10
 
Fecha de Ingreso: diciembre-2007
Mensajes: 385
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: [Error] 1307 - Failed to CREATE PROCEDURE descontar_feriados

porfavor amigos alguien me puede echar una manito en guiarme como solucionar este problema??? se puede deber a q no tengo los suficientes permisos como para ejecutar este ´procedimiento almacenado en el servidor??? porfavor agradeceria mucho su guia amigos... quedo antento a sus respuestas.... desde ya gracias... bye
  #3 (permalink)  
Antiguo 07/10/2012, 17:00
Avatar de 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, 4 meses
Puntos: 2658
Respuesta: [Error] 1307 - Failed to CREATE PROCEDURE descontar_feriados

Primero: La sintaxis es correcta y corre hasta en la versión 5.0.xx, por lo que no es problema de versión de servidores de MySQL.
Segundo: Si el servidor es un host de terceros, es muy probable que no tengas permisos para cargar procedimientos almacenados o rutinas de ningún tipo. Ese nivel de permisos no son generales (se deben dar en forma específica), y muchos hosting no los otorgan, por cuestiones de seguridad. Si esa es la razón, no hay nada que puedas hacer, ya que sólo los administradores del servidor pueden otorgarlos.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 07/10/2012, 18:11
 
Fecha de Ingreso: diciembre-2007
Mensajes: 385
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: [Error] 1307 - Failed to CREATE PROCEDURE descontar_feriados

gnzsoloyo, muchas gracias por tu respuesta, me sirve para corroborar lo q yo creia q era de verdad gracias!!!! :D

Etiquetas: create, failed, procedure, select, sql, tabla
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 21:50.