代码之家  ›  专栏  ›  技术社区  ›  SPlatten

MariaDB函数中的JavaScript?

  •  0
  • SPlatten  · 技术社区  · 10 月前

    我今天读到MySQL可以在存储过程中使用JavaScript,我在MariaDB中尝试了以下操作:

    CREATE FUNCTION `eventEngine` (bitEID BIGINT) RETURNS BIGINT
    LANGUAGE JAVASCRIPT AS $$
        return biEID + 1;
    $$;
    

    我使用的是HeidiSQL 12.6.0.6765,当我尝试执行脚本时,会显示一个错误对话框,其中包含:

    SQL Error (1064): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near `JAVASCRIPT AS $$ return biEID + 1` as line 2
    

    我想既然MariaDB似乎是100%基于MySQL的,它可能支持这个功能,还是我做错了什么?

    对不起,MariaDB 10.11(x64)

    刚刚将本地MariaDB升级到最新版本:11.5(x64),仍然是同样的错误。

    1 回复  |  直到 10 月前
        1
  •  2
  •   AKX Bryan Oakley    10 月前

    MariaDB于2009年从MySQL分叉而来。Oracle可能添加到MySQL的东西( there's a blog post about JS support being introduced 自2023年12月15日起),因为MariaDB中可能不可用,当然反之亦然。

    此外,博客文章说

    这是MySQL企业版的预览版,可以通过Oracle技术网络(OTN)下载。MySQL JavaScript也可在OCI、AWS和Azure上的MySQL Heatwave云服务中使用。

    我假设你的MariaDB既不是MySQL EE,也不是MySQL Heatwave。

    为了清楚起见, the MariaDB manual 说,强调我的:

    LANGUAGE SQL 是一个标准的SQL子句,它可以在MariaDB中用于可移植性。然而,该条款毫无意义,因为 SQL是存储函数唯一支持的语言。