mysql存储过程和事件

2018-06-14  本文已影响16人  liamu
事件
什么是事件及其作用

event及“时间触发器”,与triggers的事件触发不同,event类似与linux crontab计划任务,用于时间触发。通过单独或调用存储过程使用,在某一特定的时间点,触发相关的SQL语句或存储过程。
用于某一时间执行一个事件或周期性执行一个事件。

常见用法

SHOW VARIABLES LIKE 'event_scheduler';

SET GLOBAL event_scheduler = 1;

CREATE EVENT IF NOT EXISTS e_test
ON SCHEDULE EVERY 1 SECOND
ON COMPLETION PRESERVE
DO CALL select_stu();
SHOW EVENTS
select * from mysql.event;

DROP EVENT [IF EXISTS] e_test;


创建存储过程
delimiter $$  #将语句的结束符号从分号;临时改为两个$$(可以是自定义)
create procedure delete_stu(in p_sid integer) begin delete from students where sid = p_sid; end$$
delimiter ;  #将语句的结束符号恢复为分号
delimiter $$
create procedure select_stu() begin select * from students; end$$
delimiter ;

drop PROCEDURE select_stu;

call delete_stu(10000);

show procedure status;


参考:

上一篇下一篇

猜你喜欢

热点阅读