那些年的记忆

习惯改变行为,行为决定命运。

复习(七) 自定义函数

用户自定义函数(user-defined function,UDF)是一种MySQL扩展的途径,其用法与内置函数相同。

函数可以返回任意类型的值,也可以接收这些类型的参数。

创建自定义函数

CREATE FUNCTION function_name

RETURNS

{STRING | INTERGER | REAL | DECIMAL}

routine_body


创建不带参数的函数

mysql> CREATE FUNCTION f1() RETURNS VARCHAR(30)
    -> RETURN DATE_FORMAT(NOW(), '%Y年%m月%d日 %H时%i分%s秒');

调用:

mysql> SELECT f1();


创建带有参数的函数

mysql> CREATE FUNCTION f2(num1 SMALLINT UNSIGNED, num2 SMALLINT UNSIGNED)
    -> RETURNS FLOAT(10, 2) UNSIGNED
    -> RETURN (num1 + num2)/2;

调用:

mysql> SELECT f2(10, 15);


创建复合结构的函数

mysql> DELIMITER //
mysql> CREATE FUNCTION adduser(username VARCHAR(20))
    -> RETURNS INT UNSIGNED
    -> BEGIN
    -> INSERT test(username) VALUES(username);
    -> RETURN LAST_INSERT_ID();
    -> END
    -> //
mysql> DELIMITER ;

删除函数

DROP FUNCTION [IF EXISTS] function_name


发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。