使用表别名在MySQL数据库中调用函数

时间:2016-12-27 04:55:09

标签: mysql database function

目前我在当前环境中使用过导入的MySQL数据库。我的MySQL版本是5.6.x.现在我有一些我必须在我的java应用程序中使用的数据库函数。问题如下:

  1. MySQL数据库为String fileName = name + " yourFile"+".db";
  2. MySQL函数EMPLOYEE使用了表 表FN_GET_USER_CODE(userID INT)的别名(EMPDTL),并在函数定义中使用了一些连接。
  3. 当我尝试通过命令调用该函数时 EMP_DETAILS_COMPANY,表示表select FN_GET_USER_CODE(234599)不存在。
  4. EMPLOYEE.EMPDTL
  5. 功能定义

    Error Code: 1146
    Table 'EMPLOYEE.EMPDTL' doesn't exist

    DELIMITER;

    任何人都可以知道我在这里缺少的东西。

1 个答案:

答案 0 :(得分:-1)

我认为您在表AS的别名之前缺少EMP_SECRET_CODE。它应该是这样的:

CREATE DEFINER=`user`@`192.168.0.1` FUNCTION `FN_GET_USER_DETAILS(userID INT) RETURNS VARCHAR(25) CHARSET utf8
BEGIN
    DECLARE user_getempcode VARCHAR(100);
    SELECT DISTINCT(reg.empcode) INTO user_getempcode FROM m_registration_seq_num  AS reg
    INNER JOIN EMP_SECRET_CODE AS ecd
    ON reg.tempcd = ecd.secretcd AND reg.lang_cd = ecd.lang_cd
    RETURN user_getempcode;
END$$
相关问题