Jslfl

星河码客,月下程序猿,乱七八糟的笔记

mysql的函数/存储过程/事件 记要

mysql function/procedure/event记要

function 只有默认的in类型的参数
procedure 有in\out\inout类型的参数

function 总是要有明确的return来返回结果
procedure 需要通过其它方式来返回值(out\inout/select xx)

function 调用了他,得到结果
procedure 实现一整套动作和过程

存储过程例

1
2
3
4
5
6
7
8
9
10
11
DROP PROCEDURE IF EXISTS pr_param_in;
CREATE PROCEDURE pr_param_in
(
IN id INT -- in 类型的 MySQL 存储过程参数
)
BEGIN
IF (id IS NOT NULL) THEN
SET id = id + 1;
END IF;
SELECT id AS id_inner;
END;

下面是网友的一些相关文章参考
http://blog.csdn.net/ethansky/article/details/4467178 procedure参数类型说明
http://blog.sina.com.cn/s/blog_a86ad6ea0101j8lt.html

event定义参考

1
2
3
4
5
DELIMITER $$
CREATE EVENT `evname` ON SCHEDULE EVERY 1 DAY STARTS '2014-01-01 01:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
    CALL pro(0);-- todo
END $$
DELIMITER ;

注意:创建事件时,要用DELIMITER $$转文结束符

, ,

Comments are currently closed.