Ir al contenido


Foto

Ayuda con SP


  • Por favor identifícate para responder
47 respuestas en este tema

#41 rburgos90

rburgos90

    Member

  • Miembros
  • PipPip
  • 22 mensajes

Escrito 10 noviembre 2013 - 11:55

:s

Archivos adjuntos


  • 0

#42 Fenareth

Fenareth

    Advanced Member

  • Administrador
  • 3.486 mensajes
  • LocationMexico City

Escrito 11 noviembre 2013 - 12:05

:sad:

Lo que te recomiendo amigo es que comiences a jugar un poco con la última sentencia que te he pasado (el select simple) quitando y poniendo puntos y comas e ir probando, por desgracia, ya estamos en la etapa de prueba y error porque por sintaxis yo ya no le veo problemas...

Ojalá pronto podamos resolver este caso tan misterioso  ^o| (y)

Saludox ! :)
  • 0

#43 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 11 noviembre 2013 - 04:00

Hola, no usé nunca MySQL pero de lo que estuve leyendo, escasamente, sobre el condicional IF puedo decir lo siguiente:
1) Todo IF debe finalizar con un END IF;
2) Toda sentencia termina con un punto y coma.
3) Si el IF debe evaluar alguna condición por el lado del else entonces debe ser un ELSEIF <condicion> THEN <sentencia>.
4) Si por el contrario, el else sólo se limita a ejecutar una instrucción, basta con su forma ELSE <sentencia>.

A todo esto, la gramática de un IF es la siguiente:



delphi
  1. IF <cond1> THEN <sentencia1>;
  2.     [ELSEIF <cond2> THEN <sentencia2>;] ...
  3.     [ELSE <sentencia_else>;]
  4. END IF;



En la documentación veo este ejemplo:



delphi
  1. DELIMITER //
  2.  
  3. CREATE FUNCTION SimpleCompare(n INT, m INT)
  4.   RETURNS VARCHAR(20)
  5.  
  6.   BEGIN
  7.     DECLARE s VARCHAR(20);
  8.  
  9.     IF n > m THEN SET s = '>';
  10.     ELSEIF n = m THEN SET s = '=';
  11.     ELSE SET s = '<';
  12.     END IF;
  13.  
  14.     SET s = CONCAT(n, ' ', s, ' ', m);
  15.  
  16.     RETURN s;
  17.   END //
  18.  
  19. DELIMITER ;



Por otro lado invito a rburgos90 a que en lo sucesivo cuando se le pida que comente que errores arroja nos los describa textualmente, con nombre y apellido. Es decir algo como ERROR yyy at line xxxx. Eso es mucho más aclarativo que una imagen en donde lo único que se entiende es un resaltado al estilo word pero que no da referencia alguna del posible error y en como eliminarlo.

Saludos,
  • 0

#44 Fenareth

Fenareth

    Advanced Member

  • Administrador
  • 3.486 mensajes
  • LocationMexico City

Escrito 11 noviembre 2013 - 04:08

Lo curioso de todo este asunto (si nos basamos en el historial del hilo) es que sin cuerpo del Stored Procedure, la creación del SP y de los parámetros los genera sin problemas, pero al agregar una simple consulta que no debería tener mayores problemas, entonces ya no compila y manda errores de sintaxis ya no digamos si comenzamos con cosas más "complejas" como sentencias condicionales...

Las pruebas que hicimos con las condicionales, tienen la estructura tal y como la mencionaste Delphius, pero también genera errores, es por eso que pensé en el manejador que está usando  :(

Yo insisto en que algo me pasó así con una versión actualizada de mi manejador de MySQL (no recuerdo el nombre) y la versión antigua no me generaba los errores de sintaxis para el mismo SP...

Saludox ! :)
  • 0

#45 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 11 noviembre 2013 - 04:31

Lo curioso de todo este asunto (si nos basamos en el historial del hilo) es que sin cuerpo del Stored Procedure, la creación del SP y de los parámetros los genera sin problemas, pero al agregar una simple consulta que no debería tener mayores problemas, entonces ya no compila y manda errores de sintaxis ya no digamos si comenzamos con cosas más "complejas" como sentencias condicionales...

Las pruebas que hicimos con las condicionales, tienen la estructura tal y como la mencionaste Delphius, pero también genera errores, es por eso que pensé en el manejador que está usando  :(

Yo insisto en que algo me pasó así con una versión actualizada de mi manejador de MySQL (no recuerdo el nombre) y la versión antigua no me generaba los errores de sintaxis para el mismo SP...

Saludox ! :)

Pues debe ser un administrador muy malo para que haga cosas como esas.  :(
Dime el nombre, para nunca usarlo... si es que llegase el día en que deba utlizar mySQL.

¿Y si en lugar de dicha herramienta de terceros se utilizara el propio motor? A los pelos... como quien diría. ¿Allí si funca?

Saludos,
  • 0

#46 rburgos90

rburgos90

    Member

  • Miembros
  • PipPip
  • 22 mensajes

Escrito 17 noviembre 2013 - 06:00

Lo que pasa es que me comentan que la versión que tengo de MySQL Server (5.6.12) trae muchos errores, tendré que regresarme un poco para verificar nuevamente el código del SP y confirmar si es eso.
  • 0

#47 rburgos90

rburgos90

    Member

  • Miembros
  • PipPip
  • 22 mensajes

Escrito 17 noviembre 2013 - 06:18

Que creeen!!!! Ya se resolvio!!!!!!
El problema todo el tiempo fue el cliente de MySQL Workbench, utilicé Navicat for MySQL y funciono de maravilla.
Gracias a todos por sus comentarios.

Archivos adjuntos


  • 0

#48 Fenareth

Fenareth

    Advanced Member

  • Administrador
  • 3.486 mensajes
  • LocationMexico City

Escrito 17 noviembre 2013 - 11:30

Excelente amigo !!! (y)... qué bueno que pudiste resolver tu problema ;)

Saludox ! :)
  • 0




IP.Board spam blocked by CleanTalk.