Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL ट्रिगर डिबगिंग

अस्थायी रूप से इसका परीक्षण करने का एक वैकल्पिक तरीका है debug टेबल . यहां उदाहरण में, वे इसे अपने debug . में बनाते हैं डेटाबेस।

चरण 1: एक टेबल बनाएं

DROP TABLE IF EXISTS debug;
CREATE TABLE debug (
  proc_id varchar(100) default NULL,
  debug_output text,
  line_id int(11) NOT NULL auto_increment,
  PRIMARY KEY  (line_id)
)

चरण 2: डिबग तालिका भरने के लिए डिबग SPs बनाएं

DELIMITER $$

DROP PROCEDURE IF EXISTS `debug_insert` $$
CREATE PROCEDURE `debug_insert`(in p_proc_id varchar(100),in p_debug_info text)
begin
  insert into debug (proc_id,debug_output)
  values (p_proc_id,p_debug_info);
end $$

DROP PROCEDURE IF EXISTS `debug_on` $$
CREATE PROCEDURE `debug_on`(in p_proc_id varchar(100))
begin
  call debug_insert(p_proc_id,concat('Debug Started :',now()));
end $$

DROP PROCEDURE IF EXISTS `debug_off` $$
CREATE PROCEDURE `debug_off`(in p_proc_id varchar(100))
begin
  call debug_insert(p_proc_id,concat('Debug Ended :',now()));
  select debug_output from debug where proc_id = p_proc_id order by line_id;
  delete from debug where proc_id = p_proc_id;
end $$

चरण 3: अपने ट्रिगर में एसपी डीबग करें

इस तरह,

CREATE PROCEDURE test_debug()
begin
declare l_proc_id varchar(100) default 'test_debug';
  call debug_on(l_proc_id);
  call debug_insert(l_proc_id,'Testing Debug');
  call debug_off(l_proc_id);
end $$

परिणामस्वरूप डिबग तालिका इस प्रकार भरी जाएगी,

+------------------------------------+
| debug_output                       |
+------------------------------------+
| Debug Started :2006-03-24 16:10:33 |
| Testing Debug                      |
| Debug Ended :2006-03-24 16:10:33   |
+------------------------------------+


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MYSQL अगर कथन प्रश्न

  2. MySQL प्रदर्शन:लंबी क्वेरी की पहचान करना

  3. MySQL में ब्लॉग प्रबंधन के लिए डेटाबेस डिजाइन करने के लिए गाइड

  4. JDBC स्टेटमेंट उदाहरण - डालें, हटाएं, अपडेट करें, रिकॉर्ड चुनें

  5. डेटाबेस प्रॉक्सी फ़ेलओवर टाइम्स की तुलना करना - ProxySQL, MaxScale और HAProxy