Existe-t-il un moyen dans MySQL d'imprimer des messages de débogage vers stdout, tentable ou logfile ? Quelque chose comme :
-
print
dans SQLServer -
DBMS_OUTPUT.PUT_LINE
dans Oracle
Existe-t-il un moyen dans MySQL d'imprimer des messages de débogage vers stdout, tentable ou logfile ? Quelque chose comme :
print
dans SQLServerDBMS_OUTPUT.PUT_LINE
dans OracleVoici comment je déboguerai :
CREATE PROCEDURE procedure_name()
BEGIN
DECLARE EXIT HANDLER FOR SQLEXCEPTION
BEGIN
SHOW ERRORS; --this is the only one which you need
ROLLBACK;
END;
START TRANSACTION;
--query 1
--query 2
--query 3
COMMIT;
END
Si la requête 1, 2 ou 3 lance une erreur, le GESTIONNAIRE attrapera la SQLEXCEPTION et affichera les erreurs pour nous. Remarque : AFFICHER LES ERREURS doit être la première instruction dans le GESTIONNAIRE.
Je crée généralement une table de journalisation avec une procédure stockée pour y accéder. Appeler la procédure de journalisation là où elle est nécessaire à partir de la procédure en cours d'élaboration.
En regardant d'autres messages sur cette même question, cela semble être une pratique courante, bien qu'il existe quelques alternatives.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.