MySQL - debug de un SP

 
Vista:

debug de un SP

Publicado por Pedro (8 intervenciones) el 28/04/2010 21:05:33
Hola, estoy haciendo mis primeros SP en mysql 5 (version free) y quisiera saber como poder debaguear el SP.
Hay algun valor de retorno de la ejecucion de un sentencia de insert, update, o delete??
para que uno la pueda controlar y saber como actuar??
Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:debug de un SP

Publicado por Gonzalo GC (339 intervenciones) el 29/04/2010 00:19:42
En MySQL no es posible debuggear un SP.
La única solución que he encontrado es, usando el MySQL Query Browser, poner diferentes SELECT para cada paso mientras lo voy probado.

Fuera de eso, es un script que se reside y corre en servidor, por lo que no es posible analizarlo en tiempo de ejecución.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:debug de un SP

Publicado por Pedro (8 intervenciones) el 29/04/2010 16:06:59
ok, gracias

otra pregunta, hay alguna variable que permita tenre el resultado de un sql, , insert, update, algo asi com @@Error o algo parecido??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:debug de un SP

Publicado por Gonzalo GC (339 intervenciones) el 29/04/2010 16:25:35
No existe una variable puntualmente que lo retenga, pero puedes hacerlo internamente con variables usuario que permanecen aún terminado el SP, Y SÓLO SI NO SE HA CERRADO LA CONEXIÓN, ya que mueren con ella.
En ese caso no solamente deberás usar las variables en el SP:
1) No se declaran, pero se identifican con un "@": @var1, @valor, o cualquier otro nombre que quieras darle.
2) No tienen tipo. Adquieren el tipo cuando le asignas un valor: SET @a = 0;, por ejemplo.
3) El valor permanece después de ejecutar el SP, pero debes recuperarlo con una sentencia, por ejemplo: SELECT @a;

Además de esto, para capturar el error debes hacerlo con HANDLERS, que son los que pueden controlar las excepciones y errores generados en la ejecución (ver tema en manual de referencia on-line: http://dev.mysql.com/doc/refman/5.0/es/index.html).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar