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

MySQLはテーブルをループします

    これを試してください:

    delimiter //
    
    drop procedure if exists hunt //
    create procedure hunt()
    begin
        DECLARE done BOOL default false;
        DECLARE tablename CHAR(255);
    
        DECLARE cur1 cursor for SELECT TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS 
            WHERE TABLE_SCHEMA = "wholesale_production" and COLUMN_NAME LIKE "%first%" ;
        DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
        open cur1;
    
        myloop: loop
            fetch cur1 into tablename;
            if done then
                leave myloop;
            end if;
            set @sql = CONCAT('select * from `wholesale_production`.', tablename, ' where created_at >= ''2012-10-01''');
            prepare stmt from @sql;
            execute stmt;
            drop prepare stmt;
        end loop;
    
        close cur1;
    end //
    
    delimiter ;
    
    call hunt();
    


    1. Homebrewを介してMacOSXでPostgreSQLサーバーを起動する方法

    2. Python / MySQLクエリエラー:`不明な列`

    3. 間違ったmysql設定でrootパスワードをリセットする

    4. SQLServerのテーブルにあるすべての外部キーを一覧表示する