Mysql
 sql >> база данни >  >> RDS >> Mysql

Как отстранявате грешки в MySQL съхранените процедури?

Следното debug_msg процедурата може да бъде извикана за просто извеждане на съобщение за отстраняване на грешки в конзолата:

DELIMITER $$

DROP PROCEDURE IF EXISTS `debug_msg`$$
DROP PROCEDURE IF EXISTS `test_procedure`$$

CREATE PROCEDURE debug_msg(enabled INTEGER, msg VARCHAR(255))
BEGIN
  IF enabled THEN
    select concat('** ', msg) AS '** DEBUG:';
  END IF;
END $$

CREATE PROCEDURE test_procedure(arg1 INTEGER, arg2 INTEGER)
BEGIN
  SET @enabled = TRUE;

  call debug_msg(@enabled, 'my first debug message');
  call debug_msg(@enabled, (select concat_ws('','arg1:', arg1)));
  call debug_msg(TRUE, 'This message always shows up');
  call debug_msg(FALSE, 'This message will never show up');
END $$

DELIMITER ;

След това стартирайте теста по следния начин:

CALL test_procedure(1,2)

Това ще доведе до следния изход:

** DEBUG:
** my first debug message
** DEBUG:
** arg1:1
** DEBUG:
** This message always shows up


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP PDO MySQL заявка LIKE -> множество ключови думи

  2. Използване на ключова дума срещу клауза ON - MYSQL

  3. C# Entity Framework:Ключова дума не се поддържа:'port'

  4. ИЗБЕРЕТЕ най-новия запис с ненулева стойност в една колона

  5. Използване на подготвено изявление в C# с Mysql