从另一个函数Mysql调用函数

时间:2015-08-20 14:52:45

标签: mysql

我正在尝试从另一个函数调用一个函数,如下所示,但它正在抛出如下所述的错误

CREATE DEFINER=`root`@`localhost` FUNCTION `all_function`(runInstance double) RETURNS int(11)
BEGIN
CALL al_compareData(runInstance);

RETURN 1;
END

错误抛出

Error Code: 1305. PROCEDURE als.al_compareData does not exist

我试图调用一个函数,但MySQL反过来正在搜索一个过程。

如何从另一个函数调用函数

1 个答案:

答案 0 :(得分:3)

如果省略CALL并使用al_compareData(runInstance);

,该怎么办?

CALL仅用于程序。函数返回的内容意味着在块中使用/分配。另外,如果你试试

SELECT al_compareData(runInstance);

在你的程序之外,它会返回结果,只是为了让你知道。

也许您想要使用返回的值,因此您可以执行类似

的操作
SET compareResult = al_compareData(runInstance);
IF (compareResult) THEN
    --something
ELSE
    --something else
END IF;
...