java - 通过 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;
感谢您的任何反馈。
解决方案
推荐阅读
- delphi - 如何在 TeamCity 上显示 DUnitX 结果
- excel - Realtor.ca Web api 调用失败
- wordpress - 如何获得默认的 woocommerce 产品排序选项?
- python - 带有python的databricks不能使用fs模块AttributeError:模块'dbutils'没有属性'fs'
- java - 实例化引用类对象的数据类型
- macos - 无法在 MAC OS 10.14.2 上从源代码安装 MongooseIM
- java - 如何使用来自不同子域的 OAuth 验证本机应用程序以进行谷歌云验证?
- matlab - 什么是对象检测的合适特征提取?
- reactjs - 如何在 React JS 中使用道具将事件从一个组件传递到另一个组件?
- typescript - Angular 6 中的表单数组