【发布时间】:2021-02-18 15:08:47
【问题描述】:
我正在尝试在 MariaDB 数据库中创建一个存储函数。 我从MariaDB Docs复制了我试图创建的函数:
DELIMITER //
CREATE FUNCTION FortyTwo() RETURNS TINYINT DETERMINISTIC
BEGIN
DECLARE x TINYINT;
SET x = 42;
RETURN x;
END
//
DELIMITER ;
很遗憾,我收到以下错误:
SQL 错误 [1064] [42000]:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以了解在第 3 行的 '' 附近使用的正确语法
最让我困惑的是,给定的代码应该可以解决我根据 MariaDB 文档得到的错误代码
解决方案是使用 DELIMITER 命令为进程的持续时间指定一个不同的分隔符
【问题讨论】:
-
你说你运行的对我有用,只是检查一下,你运行的是什么版本的 mariaDB
-
你是如何发出命令的,phpMyAdmin还是命令行(mysql.exe)
-
@RiggsFolly 我正在运行版本 10.3.27-MariaDB 并使用 Dbeaver 发出命令
-
@RiggsFolly 感谢您提出关于我如何发出命令的聪明问题。我什至没有想过这是否会有所作为。但是,该命令在 MySql Workbench 中按预期工作。所以谢谢!
-
是的,WorkBench 可能选择了数据库。
标签: mariadb delimiter stored-functions