错误代码:1305。不存在FUNCTION或PROCEDURE

时间:2016-07-25 02:58:23

标签: mysql

所以我在MySQL中创建一个函数,然后尝试授予用户使用该函数的权限,但我无法这样做。这就是我正在做的事情:

Chunk

这是我得到的错误:

getNearbyEntities

我不明白。我/ just /定义了函数 - 它是如何存在的?

3 个答案:

答案 0 :(得分:2)

显然我需要new代替$ tree new new ├── 22 │   ├── 1.TIF │   ├── 2.TIF │   ├── 3.TIF │   ├── 4.TIF │   ├── 5.TIF │   ├── 6.TIF │   └── 7.TIF ├── 23 │   ├── 1.TIF │   ├── 2.TIF │   ├── 3.TIF │   ├── 4.TIF │   ├── 5.TIF │   ├── 6.TIF │   ├── 7.TIF │   └── 8.TIF └── 24 ├── 1.TIF └── 2.TIF

您认为如果GRANT EXECUTE ON FUNCTION仅对PROCEDUREs有效,则错误消息应该说"错误代码:1305。程序businessDayDiff不存在"而不是"功能或程序" ...

答案 1 :(得分:0)

您确定要在数据库下创建程序:rxhelp36_scbn吗?也许您应该在“DELIMITER $$”

下使用以下声明
USE rxhelp36_scbn$$

答案 2 :(得分:0)

尝试以下功能,这可能是因为您在CREATE FUNCTION,businessDayDiff&之间留下了空间。 (

DELIMITER $$

DROP FUNCTION IF EXISTS `businessDayDiff` $$
CREATE FUNCTION `businessDayDiff`(start DATETIME, stop DATETIME) RETURNS TINYINT
  NO SQL
BEGIN
  RETURN 5 * (DATEDIFF(stop, start) DIV 7) + MID('0123444401233334012222340111123400001234000123440', 7 * WEEKDAY(start) + WEEKDAY(stop) + 1, 1);
END $$

GRANT EXECUTE ON PROCEDURE rxhelp36_scbn.businessDayDiff TO 'myuser'@'localhost';