简单的 MariaDB 自定义函数

Simple MariaDB custom function

我正在尝试编写一个简单的数据库函数来从 table.

中检索值
 CREATE FUNCTION funcGetValue(Id INT) RETURNS VARCHAR
 BEGIN
    DECLARE theTitle VARCHAR DEFAULT ""
    SELECT MyTitle INTO theTitle FROM wp_bc_my_values WHERE MyId = Id
    RETURN theTitle
 END

MariaDB 仅给出以下信息

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 'BEGIN DECLARE theTitle VARCHAR DEFAULT "" SELECT MyTitle INTO theTitle FR' at line 2

我看不出有什么问题。请帮忙。

谢谢

您的函数有几个问题。首先,VARCHAR 类型总是需要一个大小(例如 VARCHAR(50))。其次,函数中的所有语句都需要以 ; 结束。试试这个:

CREATE FUNCTION funcGetValue(Id INT) RETURNS VARCHAR(50)
BEGIN
    DECLARE theTitle VARCHAR(50) DEFAULT "";
    SELECT MyTitle INTO theTitle FROM wp_bc_my_values WHERE MyId = Id;
    RETURN theTitle;
END

Demo on dbfiddle