Como depurar procedures e triggers no MySQL 5
Sugestão: utilizar as procedures abaixo nos trechos de código das procedures e triggers no banco de desenvolvimento.
drop table if exists debug;
create table debug (
id int not null auto_increment,
ref_id varchar(100) default null,
debug_output text,
primary key (id)
);
drop procedure if exists debug_on;
create procedure debug_on (in p_ref_id varchar(100))
begin
call debug_insert(p_ref_id,concat(now(), ' - STARTED'));
end;
drop procedure if exists debug_insert;
create procedure debug_insert(in p_ref_id varchar(100),in p_debug_info text)
begin
insert into debug (ref_id,debug_output) values (p_ref_id,p_debug_info);
end;
drop procedure if exists debug_off;
create procedure debug_off(in p_ref_id varchar(100))
begin
call debug_insert(p_ref_id,concat(now(), ' - ENDED'));
end;
/* exemplo */
call debug_on('test');
call debug_insert('test', 'value');
call debug_off('test');
call debug_on('test');
call debug_insert('test', 'value');
call debug_off('test');
select * from debug;
Comentários