简单的MariaDB自定义功能

问题描述 投票:0回答:1

我正在尝试编写一个简单的数据库函数来从表中检索值。

 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

在'BEGIN DECLARE theTitle VARCHAR DEFAULT'“选择MyTitle INTO theTitle FR'在第2行附近

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

谢谢

mysql mariadb stored-functions
1个回答
0
投票

你的功能有几个问题。首先,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

© www.soinside.com 2019 - 2024. All rights reserved.