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

mostrar o imprimir mensajes en mysql 5.0

Estas en el tema de mostrar o imprimir mensajes en mysql 5.0 en el foro de Mysql en Foros del Web. hola como le puede hacer para mostrar mensajes o imprimir en mysql 5.0 lo que pasa es que en sql esta este ejemplo y quiero ...
  #1 (permalink)  
Antiguo 26/12/2008, 10:02
Avatar de Zeptimo  
Fecha de Ingreso: enero-2008
Mensajes: 269
Antigüedad: 16 años, 3 meses
Puntos: 1
De acuerdo mostrar o imprimir mensajes en mysql 5.0

hola como le puede hacer para mostrar mensajes o imprimir en mysql 5.0 lo que pasa es que en sql esta este ejemplo y quiero saber como le puedo hacer en mysql...................

print "No disponible la programacion de curso para actualizar"


saludooooss.
  #2 (permalink)  
Antiguo 26/12/2008, 10:39
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: mostrar o imprimir mensajes en mysql 5.0

Hola Zeptimo,

Dudo que MySQL tenga el soporte de lo que necesitas, recuerda que una BDD, es un repositorio de información, la logica de imprimir y mostrar mensajes se la tienes que dejar al lenguaje de programación.

Saludos.
  #3 (permalink)  
Antiguo 29/12/2008, 04:27
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, 5 meses
Puntos: 2658
Respuesta: mostrar o imprimir mensajes en mysql 5.0

PRINT es una funcionalidad extendida de la interfase de SQL Server, pero no forma parte del SQL (Oracle iSQL+ tiene otra parecida), por lo que en realidad esa capacidad (imprimir mensajes en pantalla) no pertenece al estandar y por tanto no es migrable.
Simplificando: No existe en MySQL básicamente porque no existe en el SQL.
Si lo que quieres es que te envíe un mensaje a la pantalla, eso dependerá de la interfase que estés usando, pero un simple
Cita:
SELECT 'No disponible la programacion de curso para actualizar'
te mostrará ese resultado en forma de tabla, si lo usas en MySQL Query Browser (yo uso ese método cuando estoy debuggeando 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)
  #4 (permalink)  
Antiguo 16/11/2011, 12:26
Avatar de kikelp  
Fecha de Ingreso: marzo-2011
Mensajes: 26
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: mostrar o imprimir mensajes en mysql 5.0

hola gnzsoloyo, tienes idea si la sentencia select que usaste como ejemplo puede servir en un trigger?
  #5 (permalink)  
Antiguo 16/11/2011, 13:38
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, 5 meses
Puntos: 2658
Respuesta: mostrar o imprimir mensajes en mysql 5.0

No. Los triggers no pueden devolver datos en un SELECT porque no es esa su función. Son rutinas cerradas que no devuelven datos.
Lo máximo que puedes lograr es crear y cargar una variable de usuario en sesión de MySQL, la cual puedes leer después.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #6 (permalink)  
Antiguo 16/11/2011, 19:51
Avatar de kikelp  
Fecha de Ingreso: marzo-2011
Mensajes: 26
Antigüedad: 13 años, 1 mes
Puntos: 0
Pregunta Respuesta: mostrar o imprimir mensajes en mysql 5.0

te refieres a esto? este es un ejemplo que encontre en la pagina MySQL

CREATE PROCEDURE simpleproc (OUT param1 INT)
BEGIN
SELECT COUNT(*) INTO param1 FROM t;
END

CALL simpleproc(@a);

SELECT @a;

he creado un procedimiento muy parecido a este, adapatado a mi BD, pero no me devuelve un valor numerico, me devuelve null..

de casualidad tienes algun ejemplo mas complejo que eso?
  #7 (permalink)  
Antiguo 16/11/2011, 19:56
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, 5 meses
Puntos: 2658
Respuesta: mostrar o imprimir mensajes en mysql 5.0

El valor inicial de una variable de usuario es siempre NULL, porque las variables de usuario no tienen tipo de dato. Adquieren el tipo al ser inicializadas (cosa que no estás haciendo). Como su valor inicial es NULL, y considerando que toda operación con NULL da por resultado NULL, es lógico que no obtengas nada.
Pruébalo así:

Código MySQL:
Ver original
  1. CREATE PROCEDURE simpleproc (OUT param1 INT)
  2. SELECT COUNT(*) INTO param1 FROM t;
  3.  
  4. SET @a = 0;
  5. CALL simpleproc(@a);
  6. SELECT @a;

P.D.: No agrandes las tipografías del post. Parece que estuvieses gritando, o que tuvieras problemas de visión...
Sin ofender, pero causan un poco de mala impresión.

__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #8 (permalink)  
Antiguo 16/11/2011, 20:31
Avatar de kikelp  
Fecha de Ingreso: marzo-2011
Mensajes: 26
Antigüedad: 13 años, 1 mes
Puntos: 0
Pregunta Respuesta: mostrar o imprimir mensajes en mysql 5.0

gracias por la sugerencia.. tiene sentido lo que dices, pero sabes que no me funciona
me sigue devolviendo null..
  #9 (permalink)  
Antiguo 17/11/2011, 13:32
Avatar de kikelp  
Fecha de Ingreso: marzo-2011
Mensajes: 26
Antigüedad: 13 años, 1 mes
Puntos: 0
Información Respuesta: mostrar o imprimir mensajes en mysql 5.0

hola otra vez gnzsoloyo..

te queria preguntar si en los trigger, en mysql existe algo equivalente a lo que oracle usa para mostrar un mensaje por consola?

en oracle tengo entendido que con este comando puedo hacerlo

dbms_output.put_line(‘ATENCION. Se necesita URGENTE al Anestesista.’);

en mysql hay alguna equivalente?
  #10 (permalink)  
Antiguo 17/11/2011, 14:02
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, 5 meses
Puntos: 2658
Respuesta: mostrar o imprimir mensajes en mysql 5.0

Cita:
Iniciado por kikelp Ver Mensaje
hola otra vez gnzsoloyo..

te queria preguntar si en los trigger, en mysql existe algo equivalente a lo que oracle usa para mostrar un mensaje por consola?

en oracle tengo entendido que con este comando puedo hacerlo

dbms_output.put_line(‘ATENCION. Se necesita URGENTE al Anestesista.’);

en mysql hay alguna equivalente?
No. No existe.
El tema con Oracle es que ese tipo de comando son extensiones que sólo aplican a su propia interfaz de trabajo. Por eso no son recursos portables a otros DBMS.
Todavía no me he podido ocupar de tu problema prque estoy en horas de trabajo, pero me rugió la duda de con qué interfaz estas probando lo que te pasé... ¿Consola, phpMyAdmin u otra cosa?

Mi pregunta apunta a que una variable de usuario sólo existe dentro de la sesión, y algunas interfases como phpMyadmin usan una sesión por consulta ejecutada, por lo que no debería funcionar en ese contexto, o incluso en XAMPP.
Sí debería funcionar bien usando el MySQL Workbench.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #11 (permalink)  
Antiguo 17/11/2011, 14:17
Avatar de kikelp  
Fecha de Ingreso: marzo-2011
Mensajes: 26
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: mostrar o imprimir mensajes en mysql 5.0

Ok.. estoy usando el mysql administrator.

Gracias por tu tiempo!!
  #12 (permalink)  
Antiguo 17/11/2011, 14:22
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, 5 meses
Puntos: 2658
Respuesta: mostrar o imprimir mensajes en mysql 5.0

MySQL Administrator es una aplicación discontinuada, llena de bugs y puede que esté usando sesiones independientes para cada ejecución.
Mi sugerencia es que uses la aplicación que lo reemplazó: MySQL Workbench, que puedes descargar en la página oficial.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #13 (permalink)  
Antiguo 17/11/2011, 14:33
Avatar de kikelp  
Fecha de Ingreso: marzo-2011
Mensajes: 26
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: mostrar o imprimir mensajes en mysql 5.0

Esta bien.. gracias por tu sugerencia y por tu tiempo!! me aclaraste las dudas que tenia.. muchas gracias de nuevo
  #14 (permalink)  
Antiguo 17/11/2011, 17:23
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, 5 meses
Puntos: 2658
Respuesta: mostrar o imprimir mensajes en mysql 5.0

Bueno, he probado el resultado del SP que te propuse, funcionando sobre consola y sobre Workbench, y el resultado es óptimo.
Código MySQL:
Ver original
  1. mysql> DELIMITER $$
  2. mysql> DROP PROCEDURE IF EXISTS `simpleproc`$$
  3. Query OK, 0 rows affected (0.00 sec)
  4.  
  5. mysql> CREATE PROCEDURE `simpleproc`()
  6.     -> BEGIN
  7.     -> SET @a = 0;
  8.     -> SELECT COUNT(*) INTO @a FROM citas;
  9.     -> END$$
  10. Query OK, 0 rows affected (0.00 sec)
  11.  
  12. mysql> DELIMITER ;
  13. mysql> CALL `simpleproc`();
  14. Query OK, 0 rows affected (0.11 sec)
  15.  
  16. mysql> SELECT CAST(@a AS UNSIGNED) RESULTADO;
  17. +-----------+
  18. | RESULTADO |
  19. +-----------+
  20. |         6 |
  21. +-----------+
  22. 1 row in set (0.00 sec)
  23.  
  24. mysql>
  25. mysql> DELIMITER $$
  26. mysql> DROP PROCEDURE IF EXISTS `simpleproc`$$
  27. Query OK, 0 rows affected (0.03 sec)
  28.  
  29. mysql> CREATE PROCEDURE `simpleproc`()
  30.     -> BEGIN
  31.     -> SET @a = 'ESTE SERÍA EL MENSAJE QUE SE CREA EN EL TRIGGER';
  32.     -> END$$
  33. Query OK, 0 rows affected (0.00 sec)
  34.  
  35. mysql> DELIMITER ;
  36. mysql> CALL `simpleproc`();
  37. Query OK, 0 rows affected (0.00 sec)
  38.  
  39. mysql> SELECT @a MENSAJE;
  40. +-------------------------------------------------+
  41. | MENSAJE                                         |
  42. +-------------------------------------------------+
  43. | ESTE SERÍA EL MENSAJE QUE SE CREA EN EL TRIGGER |
  44. +-------------------------------------------------+
  45. 1 row in set (0.00 sec)
La única recomendación es que como lo vas a manejar en un TRIGGER, no lo puedes mandar como parámetro, sino directamente tomar el resultado, sabiendo que el TRIGGER se ejecutó y por tanto la variable existe.
La sintaxis de este ejemplo es:
Código MySQL:
Ver original
  1. DELIMITER $$
  2. DROP PROCEDURE IF EXISTS `simpleproc`$$
  3. CREATE PROCEDURE `simpleproc`()
  4. SET @a = 0;
  5. SELECT COUNT(*) INTO @a FROM citas;
  6. END$$
  7. DELIMITER ;
Como verás, la variable la estoy creando dentro del SP, pero eso no importa porque la variable existe dentro de la conexión mientras esta esté abierta. Incluso, la variable sigue existiendo y con el mismo valor hasta que se la vuelve a invocar. Por eso es importante reincializarla cada vez que se va a usar.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #15 (permalink)  
Antiguo 18/11/2011, 16:55
Avatar de kikelp  
Fecha de Ingreso: marzo-2011
Mensajes: 26
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: mostrar o imprimir mensajes en mysql 5.0

ok ya te termine de entender!!!.. gracias por tu ayuda!! sos un groso..
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 00:00.