mysqlタイミングタスクとストレージ・プロシージャのインスタンス


/**
  event     : SHOW VARIABLES LIKE '%event_sche%';
        : SET GLOBAL event_scheduler = 1; 
        : SET GLOBAL event_scheduler = 0; 
       : ALTER EVENT eventName ON COMPLETION PRESERVE DISABLE; 
       : ALTER EVENT eventName ON COMPLETION PRESERVE ENABLE; 
       : SHOW EVENTS ;

delimiter //            //,        ;   
**/

DROP TABLE IF EXISTS test;                
CREATE TABLE test (
  id           bigint(11) unsigned NOT NULL AUTO_INCREMENT,
  name         varchar(100) NOT NULL DEFAULT '',
  create_time  datetime,
  PRIMARY KEY (ID)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;


DELIMITER //
DROP PROCEDURE IF EXISTS p_test//
CREATE PROCEDURE p_test()  
BEGIN  
INSERT INTO test(name, create_time) values('testName', now());
END//

DROP EVENT IF EXISTS e_test//
CREATE EVENT e_test  
ON SCHEDULE EVERY 10 second STARTS TIMESTAMP '2014-04-09 01:00:00' 
ON COMPLETION PRESERVE  
DO 
BEGIN   
CALL p_test();
END//

以上のイベントe_testは、10秒ごとにp_を実行することを示すtest()