2014-02-16 47 views
0

我想在MySQL 5.6中創建函數。該功能將通過計數玩家乘以參數。但我不知道我該怎麼做。乘以Select MySQL 5.6

我覺得這樣,但它沒有按預期工作。

DROP FUNCTION IF EXISTS do_it; 

DELIMITER $$ 
CREATE FUNCTION do_it (s INT) RETURNS INT DETERMINISTIC 
    BEGIN 
    DECLARE k INT; 
    SELECT COUNT(id_player) as allPlayers FROM players; 
    SET k= allPlayers * s; 
    RETURN k; 
    END$$ 
DELIMITER ; 

SELECT do_it(2); 
+0

你能否闡述一下「壞」一點?你有錯誤嗎?錯誤的價值?沒有價值? – Clive

+0

是的,我有錯誤:「不允許從函數返回結果集」 – user3314502

回答

-1

而是做這樣的方式

DECLARE k INT; 
declare multiplyvar int; 
SELECT COUNT(id_player) into multiplyvar FROM players; 
SET k = multiplyvar * s; 
RETURN k; 
+0

我有這個錯誤:不允許從函數返回結果集 – user3314502

+0

請參閱我編輯的答案。現在試試。 downvoting時也是明智的。 – Rahul

+0

現在是:「錯誤SQL(1064):您的SQL語法有錯誤;請查看與您的MySQL服務器版本相對應的手冊,以找到在'/ *附近使用的正確語法CREATE FUNCTION do_it(s INT)RETURNS INT DETERMINISTIC BEGIN DECLA'在第26行* /「 – user3314502