首页 > 解决方案 > 通过 Java 在 MySQL 5.7 版本中创建函数

问题描述

这是我的功能:

    query = "CREATE FUNCTION CheckSex(personID INT, G CHAR) " +
                "RETURNS BIT " +
                "BEGIN " +
                    "DECLARE Flag BIT; " +
                    "SET Flag = 1; " +
                    "If (G NOT IN (SELECT Sex FROM PERSONS WHERE ID = personID)) " +    
                    "THEN SET Flag = 0; " +
                    "RETURN Flag; " + 
                "END"; 
        pState = conn.prepareStatement(query);
        pState.executeUpdate();

这是错误代码:检查与您的 MySQL 服务器版本相对应的手册,以获取在第 1 行的 '' 附近使用的正确语法

我曾尝试手动将其放入 mysql 命令行,但在 DECLARE Flag BIT 之后出现错误;我还尝试更改给出错误的分隔符。

我现在已经切换到在线编译器,这个函数在 MySql 2014 express 中运行良好,如下所示

CREATE FUNCTION CheckSex(@personID AS INT, @G as CHAR)
RETURNS BIT
AS
BEGIN
DECLARE @Flag BIT = 1 
If (@G NOT IN (SELECT Sex FROM PERSONS WHERE ID = @personID))   
    SET @Flag = 0
RETURN @FLAG 
END;

感谢您的任何反馈。

标签: javamysqlfunction

解决方案


推荐阅读