;
を上書きする必要があります $$
のような区切り文字 この種のエラーを回避するためです。
関数の定義後、区切り文字を;
に戻すことができます。 。
これは機能するはずです:
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 ;