2013-04-08 84 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