Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Vòng lặp MySQL qua các bảng

Hãy thử điều này:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách đặt lại mật khẩu quản trị viên WordPress qua MySQL Command Prompt

  2. Làm thế nào để thất bại hoặc gặp sự cố các phiên bản MySQL của bạn để kiểm tra

  3. Chạy một truy vấn mySQL như một công việc cron?

  4. Tái tạo một máy chủ MySQL Master bị sự cố trong thiết lập sao chép bán đồng bộ

  5. Làm cách nào để lấy ID của hàng cập nhật cuối cùng trong MySQL?