Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm thế nào để bạn gỡ lỗi các thủ tục lưu trữ MySQL?

debug_msg sau có thể được gọi thủ tục để chỉ xuất một thông báo gỡ lỗi tới bảng điều khiển:

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 ;

Sau đó chạy thử nghiệm như sau:

CALL test_procedure(1,2)

Nó sẽ dẫn đến kết quả sau:

** 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. Đúng / Sai so với 0/1 trong MySQL

  2. Cách sao chép cơ sở dữ liệu MySQL sang máy chủ khác

  3. DateTimeField nhận được một ngày giờ ngây thơ

  4. Làm cách nào để thay đổi bảng MySQL thành UTF-8?

  5. Làm cách nào để sử dụng DATE () trong Doctrine 2 DQL?