sql >> データベース >  >> RDS >> Mysql

MySQLのテーブル列に格納されているクエリを実行するにはどうすればよいですか?

    カーソルを使用して、各REPORT_QUERYを取得できます CTで テーブルを作成し、プリペアドステートメントを使用して実行します。

    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$$
    

    プロシージャの作成後、次のように呼び出すことができます:

    run_queries();

    を呼び出します

    それだけです。



    1. VARCHAR(20000)はMySQLで有効ですか?

    2. コマンドラインを使用してmysqlユーザーのパスワードを変更する

    3. Symfony2のDoctrine2:どのオブジェクト呼び出しがクエリにつながるかをどうやって見ることができますか?

    4. MariaDBデータベースサーバーのインストール、セキュリティ保護、パフォーマンスチューニングの方法