sql >> Database teknologi >  >> RDS >> Mysql

Hvordan udfører man en forespørgsel, der er gemt i en tabelkolonne MySQL?

Du kan bruge en markør til at få hver REPORT_QUERYCT tabel, og udfør den ved at bruge forberedte sætninger:

delimiter $$
drop procedure if exists run_queries$$
create procedure run_queries()
begin

    declare s_query varchar(255);

    declare done bool default false;
    declare c_queries cursor for    
        select REPORT_QUERY from CT;
    declare continue handler for not found set done = true;


    open c_queries;
    read_loop: loop

        fetch c_queries into s_query;
        if done then 
            leave read_loop;
        end if;

        -- run the query
        set @sql = s_query;
        prepare stmt from  @sql;
        execute stmt;
        deallocate prepare stmt;
    end loop;

end$$

Efter oprettelsesproceduren kan du ringe som nedenstående:

kald run_queries();

Det var det.



  1. Hvad er den bedste måde at samle databaseindsættelser på fra c#?

  2. Sådan defineres en brugerdefineret ORDER BY order i mySQL

  3. Installation af MariaDB 10.1 i Debian Jessie og kørsel af forskellige MariaDB-forespørgsler

  4. Undslippende enkelt citat i SQL Server