2010-11-30 5 views
1

Voici ma fonctioncréer la fonction erreur mysql

DELIMITER // 
CREATE FUNCTION specialUser(user INT) RETURNS user_id INT 
BEGIN 
    DECLARE user_id INT DEFAULT 0; 
    CASE 
    WHEN user = 1556 THEN SET user_id = 1001; 
    WHEN user = 1018 THEN SET user_id = 1002; 
    WHEN user = 3658 THEN SET user_id = 1003; 
     ELSE SET user_id = user; 
    END CASE; 
RETURN user_id; 
END// 

J'obtiens l'erreur:

Vous avez une erreur dans votre syntaxe SQL; consultez le manuel qui correspond à la version de votre serveur MySQL pour la bonne syntaxe à utiliser près de 'user_id INT BEGIN DECLARE user_id INT DEFAULT 0; CASE 'à la ligne 1

Répondre

3

Vous ne pouvez indiquer le type du résultat, il est inutile de donner un identifiant , donc:

CREATE FUNCTION specialUser(user INT) RETURNS INT 

au lieu de

CREATE FUNCTION specialUser(user INT) RETURNS user_id INT