Una de las características que más me gusta de Common_schema es la posibilidad de ir escribiendo mensajes durante la ejecución de un procedimiento, y una vez concluido, mostrarlos, pero diferenciando un mensaje por cada registro.
En definitiva, ejecutamos una tarea de un procedimiento almacenado, y vamos completando el mensaje. Hay un separador de línea que es la clave de todo.
Os pongo un procedimiento de ejemplo:
CREATE PROCEDURE `probando`()
LANGUAGE SQL
NOT DETERMINISTIC
CONTAINS SQL
SQL SECURITY DEFINER
COMMENT ''
BEGIN
# Configuramos Mensaje y Separador
SET @message := ''; -- Mensaje
SET @sep := '\n'; -- Separador de Mensajes
SET @message := CONCAT(@message, 'Linea 1', @sep);
SET @message := CONCAT(@message, 'Linea 2', @sep);
# Mensaje de ejecución de CREACION de TABLAS CRUZADAS
CALL common_schema.prettify_message('Ejemplo', common_schema.trim_wspace(@message));
END
En mi opinión, cuando trabajo con procedimientos grandes o largos, es bueno informar al usuario del resultado obtenido, y en lugar de usar SELECTs, esta opción es más elegante! Aquí tenemos esta procedimiento ejecutado, con su resultado:
Espero os sirva!
NOTA sobre un Bug de MySQL en HeidiSQL:
Cuando muestras el código de un procedimiento en el que se incluye \n es posible que no lo veas bien. Se trata de un bug de MySQL, tal y como se recoge aqui y aqui. Pongo esta aclaración a raíz de una consulta que realicé en el foro de heidiSQL sobre el tema.