我正在尝试在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语句。这个功能有什么问题?
3条答案
按热度按时间7fhtutme1#
您必须使用类似
$$
的内容来覆盖;
分隔符,以避免此类错误。在函数定义之后,可以将分隔符设置回
;
。这应该可以工作:
ve7v8dk22#
MySQL create函数语法:
在查询中使用此函数
观看此视频如何创建mysql函数以及如何在查询中使用
Create Mysql Function Video Tutorial
bjp0bcyl3#
添加到the accepted answer中,为了完整起见,这里介绍了如何删除和调用函数,沿着删除中间变量的简化(尽管OP可能在函数中有更多的工作要做,只是试图让语法正常工作):
注意,这里的假设是
x1
大于y1
,因为SQRT
期望的是正数。