简单的 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
我正在尝试编写一个简单的数据库函数来从 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