Eclesiastes

Icon

Sobre o que é este blog? O.o

Procurar por campo em tabelas

Criei essa procedure para efetuar uma busca em todas as tabelas do database selecionado, resolvi fazê-la ao ver um post no fórum devmedia, se servir pra mais alguém, aí está. ;)

create procedure search_field(v_name varchar(64))
begin
    declare v_table varchar(255);
    declare done int default 0;
    declare c1 cursor for show tables;
    declare continue handler for sqlstate '02000' set done = 1;
    open c1;
    repeat
        fetch c1 into v_table;
        if not done then
            select v_table as tabela;
            set @stmt := concat('show columns from ', v_table, ' like "%', v_name, '%"');
            prepare stmt from @stmt;
            execute stmt;
            deallocate prepare stmt;
        end if;
    until done end repeat;
    close c1;
end

Arquivado como:MySQL

Leave a Reply