下面的(简单的)示例函数只返回常量 INT 值12。
DELIMITER || CREATE FUNCTION functionname() RETURNS INT BEGIN RETURN 12; END; || DELIMITER ;
第一行定义了定界符(DELIMITER ||)的更改,需要在创建函数之前对其进行设置,否则,如果将其保留为默认值,则在函数体中找到;的第一;行将作为结尾的CREATE说法,需要什么这通常不是。
CREATE FUNCTION运行完后,应将定界符设置回其默认值,;如上述示例(DELIMITER ;)中的功能代码所示。
执行此功能如下:
SELECT functionname(); +----------------+ | functionname() | +----------------+ | 12 | +----------------+
稍微复杂一点(但仍然很琐碎)的示例采用一个参数并为其添加一个常量:
DELIMITER $$ CREATE FUNCTION add_2 ( my_arg INT ) RETURNS INT BEGIN RETURN (my_arg + 2); END; $$ DELIMITER ; SELECT add_2(12); +-----------+ | add_2(12) | +-----------+ | 14 | +-----------+
注意对DELIMITER指令使用了不同的参数。实际上,你可以使用未出现在任何字符序列CREATE声明的身体,但通常的做法是使用一倍非字母数字字符,例如\\,||或$$。
优良作法是始终在函数,过程或触发器创建或更新之前和之后更改参数,因为某些GUI不需要更改定界符,而通过命令行运行查询始终需要设置定界符。