我尝试在MySQL中调用函数时遇到错误:1305

时间:2018-09-27 20:11:34

标签: function mysql-workbench

我创建了一个名为triangleType的函数,用于定义三角形的类型。但是,控制台显示错误:从TRIANGLES LIMIT中选择SELECT triangle_type(A,B,C)0,1000错误代码:1305。FUNCTION practice.triangle_type不存在0.00055秒。我不确定如何定位此功能。我尝试使用PRACTICE.TRIANGLES,但实际上并不起作用。谢谢。

I have a schema called "PRACTICE" and "TRIANGLES" is a table of "PRACTICE"

代码:

DELIMITER $$
USE `PRACTICE`$$

CREATE FUNCTION triangleType(A int, B int, C int)
RETURNS varchar(14)

DETERMINISTIC

BEGIN
    DECLARE triangle_type VARCHAR(14);
    IF A = B AND B = C AND ((A+B) >C OR (A+C) >B OR (B+C) > A) THEN
            SET triangle_type = "Equilateral";

    ELSE IF (A=B OR B=C OR A=C) AND ((A+B) >C OR (A+C) >B OR (B+C) > A)      THEN
            SET triangle_type = "Isosceles";

    ELSE IF (A<>B AND B<>C AND A<>C) AND ((A+B) >C OR (A+C) >B OR (B+C) > A)THEN
            SET triangle_type = "Scalene";

    ELSE
            SET triangle_type = "Not A Triangle";
    END IF;

    RETURN(triangle_type);

END
DELIMITER ;


USE `PRACTICE`;
SELECT triangle_type(A,B,C) FROM PRACTICE.TRIANGLES;

0 个答案:

没有答案