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

解决方案 »

  1.   

    没按语法来嘛,你的 RETURNS 呢?CREATE
        [DEFINER = { user | CURRENT_USER }]
        FUNCTION sp_name ([func_parameter[,...]])
        RETURNS type
        [characteristic ...] routine_body
      

  2.   

    语句的终止符号换了吗,看第一行和最后一行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 ;