Mysql 简单函数报错,怎么解决

lzy1026203093 2018-01-03 03:01:12
CREATE FUNCTION get_chsex(P_id INT)
BEGIN
DECLARE V_sex INT ;
DECLARE G_res VARCHAR(20) ;
SELECT sex INTO V_sex FROM dom_test_info WHERE id=P_id;
IF V_sex =1 then
G_res :='男'
ELSE G_res :='女'
END IF
RETURN G_res
END;


报错
Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'BEGIN
DECLARE V_sex INT ;
DECLARE G_res VARCHAR(20) ;
SELECT sex INTO V_s' at line 2
...全文
306 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
薛定谔的DBA 2018-01-03
  • 打赏
  • 举报
回复
语句的终止符号换了吗,看第一行和最后一行
DELIMITER //

CREATE FUNCTION get_chsex(P_id INT)
BEGIN
DECLARE V_sex INT ;
DECLARE G_res VARCHAR(20) ;
SELECT sex INTO V_sex FROM dom_test_info WHERE id=P_id;
IF V_sex =1 then 
G_res :='男'
 ELSE G_res :='女'
END IF
RETURN G_res
END;//

DELIMITER ;
zjcxc 元老 2018-01-03
  • 打赏
  • 举报
回复
没按语法来嘛,你的 RETURNS 呢? CREATE [DEFINER = { user | CURRENT_USER }] FUNCTION sp_name ([func_parameter[,...]]) RETURNS type [characteristic ...] routine_body

34,594

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧