mysql中的事件触发器

Sql代码  
  1. -- 查询事件触发器开关  
  2. -- SHOW VARIABLES LIKE 'event_sc%';  
  3.   
  4. -- 打开触发器开关  
  5. SET GLOBAL event_scheduler = 1;  
  6.   
  7. -- 测试存储过程  
  8. DROP PROCEDURE IF EXISTS `up_report_proc_4_event`;  
  9. CREATE PROCEDURE up_report_proc_4_event ()  
  10. BEGIN  
  11.     -- **************************************** --  
  12.     -- ********* 要执行的语句内容 ************* --  
  13.     -- **************************************** --  
  14.   
  15.     -- 表结构  
  16.     -- DROP TABLE IF EXISTS `t_event_test`;  
  17.     -- CREATE TABLE `t_event_test` (  
  18.     --  `id` int(11) NOT NULL AUTO_INCREMENT,  
  19.     --  `val` varchar(100) NOT NULL,  
  20.     --  PRIMARY KEY (`id`)  
  21.     -- ) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;  
  22.   
  23.     INSERT INTO   
  24.     VALUES  
  25.         (NULL, NOW());  
  26. END;  
  27.   
  28. -- 触发器, 每隔5秒执行一次存储过程 `up_report_proc_4_event`  
  29. DROP EVENT IF EXISTS up_report_proc_4_event;  
  30. CREATE EVENT up_report_proc_4_event ON SCHEDULE EVERY 5 SECOND ON COMPLETION PRESERVE DO  
  31.     CALL up_report_proc_4_event ();  
  32.   
  33. -- 将事件调度器为用户授权  
  34. -- root 用户名  
  35. -- iwifi 目标数据库  
  36. GRANT EVENT ON iwifi.* TO root;  
  37.   
  38. -- 开启事件  
  39. ALTER EVENT up_report_proc_4_event ON COMPLETION PRESERVE ENABLE;  
  40.   
  41. -- ---------------------------------------------------------  
  42. -- 查询触发器信息  
  43. SELECT  
  44.     *   
  45.     --  e.LAST_ALTERED,  
  46.     --  e.LAST_EXECUTED  
  47. FROM  
  48.     INFORMATION_SCHEMA. EVENTS e  
  49. WHERE  
  50.     EVENT_NAME = 'up_report_proc_4_event';  

 

posted @ 2016-01-08 09:20  烟-波-天-客  阅读(808)  评论(0编辑  收藏  举报