我正在尝试在MySQL中创建一个函数:
这是SQL代码:
CREATE FUNCTION F_Dist3D (x1 decimal, y1 decimal) RETURNS decimal DETERMINISTIC BEGIN DECLARE dist decimal; SET dist = SQRT(x1 - y1); RETURN dist; END;
我收到以下错误:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 10
我正在phpMyAdmin中运行此create语句。此功能有什么问题?
您必须;使用类似的方法来覆盖定界符,$$以避免此类错误。
;
$$
在定义函数之后,可以将定界符设置回;。
这应该工作:
DELIMITER $$ CREATE FUNCTION F_Dist3D (x1 decimal, y1 decimal) RETURNS decimal DETERMINISTIC BEGIN DECLARE dist decimal; SET dist = SQRT(x1 - y1); RETURN dist; END$$ DELIMITER ;