需要Mysql存储函数帮助吗
我刚刚开始学习mysql中的存储函数。有人能告诉我下面有什么问题吗 Phpmyadmin说您的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册,了解使用near'返回名称的正确语法; 在第19行结束//需要Mysql存储函数帮助吗,mysql,stored-procedures,syntax,Mysql,Stored Procedures,Syntax,我刚刚开始学习mysql中的存储函数。有人能告诉我下面有什么问题吗 Phpmyadmin说您的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册,了解使用near'返回名称的正确语法; 在第19行结束// DELIMITER // DROP FUNCTION IF EXISTS getName // CREATE FUNCTION getName(type CHAR(10), id int) RETURNS CHAR(50) DETERMINISTIC BEGIN DECLAR
DELIMITER //
DROP FUNCTION IF EXISTS getName //
CREATE FUNCTION getName(type CHAR(10), id int) RETURNS CHAR(50) DETERMINISTIC
BEGIN
DECLARE NAME CHAR(50);
CASE type
WHEN 'offer' THEN
SELECT Type_Name INTO NAME FROM otypes WHERE Type_Id = id;
WHEN 'service' THEN
SELECT ServiceType_Name INTO NAME FROM stypes WHERE ServiceType_Id = id;
WHEN 'store' THEN
SELECT Store_Name INTO NAME FROM stores WHERE Store_Id = id;
END CASE
return NAME;
END //
在
结束格后加分号
:
DELIMITER //
DROP FUNCTION IF EXISTS getName //
CREATE FUNCTION getName(type CHAR(10), id int) RETURNS CHAR(50) DETERMINISTIC
BEGIN
DECLARE NAME CHAR(50);
CASE type
WHEN 'offer' THEN
SELECT Type_Name INTO NAME FROM otypes WHERE Type_Id = id;
WHEN 'service' THEN
SELECT ServiceType_Name INTO NAME FROM stypes WHERE ServiceType_Id = id;
WHEN 'store' THEN
SELECT Store_Name INTO NAME FROM stores WHERE Store_Id = id;
END CASE;
-- ^
return NAME;
END //
在
结束格后加分号
:
DELIMITER //
DROP FUNCTION IF EXISTS getName //
CREATE FUNCTION getName(type CHAR(10), id int) RETURNS CHAR(50) DETERMINISTIC
BEGIN
DECLARE NAME CHAR(50);
CASE type
WHEN 'offer' THEN
SELECT Type_Name INTO NAME FROM otypes WHERE Type_Id = id;
WHEN 'service' THEN
SELECT ServiceType_Name INTO NAME FROM stypes WHERE ServiceType_Id = id;
WHEN 'store' THEN
SELECT Store_Name INTO NAME FROM stores WHERE Store_Id = id;
END CASE;
-- ^
return NAME;
END //
您缺少一个
代码>
END CASE
return NAME;
应该是
END CASE;
return NAME;
您缺少一个代码>
END CASE
return NAME;
应该是
END CASE;
return NAME;