2013-04-08 85 views
0
CREATE FUNCTION count(name varchar(20)) 
     RETURNS integer 
     BEGIN 
     DECLARE d_count integer; 
       select count(*) into d_count 
       from ins 
       where ins.name = name 
     RETURN d_count; 
     END 

上面的SQL代码显示有语法错误。创建MySQL函数时出现语法错误

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 'RETURN (d_count); END' at line 8 

任何想法如何解决它?

+0

有什么错误? – JMK 2013-04-08 09:36:34

+0

失踪;在从ins中选择count(*)into d_count 其中ins.name = name – Satya 2013-04-08 09:36:54

+0

因此...添加分号 – fedorqui 2013-04-08 09:37:22

回答

2

语法错误,你的SELECT语句后错过; -

CREATE FUNCTION count (name varchar(20)) 
RETURNS integer 
BEGIN 
    DECLARE d_count integer; 
    SELECT COUNT(*) INTO d_count FROM ins WHERE ins.name = NAME; 
    RETURN d_count; 
END 
0

试试这个

CREATE FUNCTION count(@name varchar(20)) 
     RETURNS integer 
     BEGIN 

     RETURN(select count(*) 
       from ins 
       where ins.name = @name); 

     END