MySQL Procedure debuggen

erstellt am: 02.03.2018 | von: mario | Kategorie(n): Programmierung

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");