Wie kann ich eine Procedure debuggen?
Ich persönlich nutze dazu gern eine eigene Procedure die eine Tabelle beschreibt.
DELIMITER $$ DROP PROCEDURE IF EXISTS DEBUG_PROCEDURE; CREATE PROCEDURE DEBUG_PROCEDURE (Identifier VARCHAR(255), Name VARCHAR(255), Value VARCHAR(255)) BEGIN CREATE TABLE IF NOT EXISTS `TMP_DEBUG` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `identifier` VARCHAR(50) NULL DEFAULT NULL, `name` VARCHAR(50) NULL DEFAULT NULL, `value` VARCHAR(50) NULL DEFAULT NULL, `time` DATETIME NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`) ) COLLATE='utf8_general_ci' ENGINE=InnoDB AUTO_INCREMENT=1; INSERT INTO TMP_DEBUG (`identifier`, `name`, `value`) VALUES (Identifier, Name, Value); END$$ DELIMITER ;
Nun kann ich in jeder Procedure mit CALL einen Debug Eintrag erzeugen.
CALL DEBUG_PROCEDURE("ProcedureName", "Name der Var", "Value");