mysql 遍历所有表并条件查询


use eepm_push;
DROP PROCEDURE IF EXISTS FountTable;
delimiter $$
create procedure FountTable()
begin 
	declare TableName varchar(64);    
    
    DECLARE cur_FountTable CURSOR FOR SELECT TABLE_NAME FROM information_schema.TABLES WHERE TABLE_NAME LIKE 'msgfor%';
	DECLARE EXIT HANDLER FOR not found CLOSE cur_FountTable;
    #打开游标
    OPEN cur_FountTable;
    REPEAT
     FETCH cur_FountTable INTO TableName;
	 SET @SQLSTR1 = CONCAT('select * from ',TableName,' where appId = ','''','cc055a4d-53b9-4cfc-9f1a-d8bad41b7502','''',' and createTime > ','''','2017-02-23 00:00:00','''');
     PREPARE STMT1 FROM @SQLSTR1; 
     EXECUTE STMT1;
     
     DEALLOCATE PREPARE STMT1;     
      
     UNTIL 0 END REPEAT;
  #关闭游标
  CLOSE cur_FountTable;
 
END $$
DELIMITER ;
 
call FountTable();

  


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM