Bonjour,

J'ai un petit souci avec une valeur de retour d'une fonction. Évidemment ça doit être une erreur toute bête, mais le nez dedans, l'erreur, je la vois pas.

L'erreur mysql que je reçois lorsque je veux créer cette fonction c'est l'errorcode 1320 qui correspond à "pas de valeur de retour pour la fonction.

Voici la fonction:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
 
CREATE FUNCTION add_user (p1 varchar(60),p2 varchar(100),p3 varchar(60),p4 varchar(60),p5 varchar(60),p6 varchar(120),p7 varchar(60),p8 date,fk_group int,fk_player int,fk_country int) RETURNS INT
BEGIN
 
DECLARE v_login,v_login_tm,v_email varchar(60) default null;
DECLARE v_fk_group,v_fk_player,v_fk_country INT DEFAULT 0;
DECLARE var1 int default 0;
 
      SELECT login INTO v_login FROM users
      WHERE login=p1;
      SELECT tm_login INTO v_login_tm FROM users
      WHERE tm_login=p3;
      SELECT email INTO v_email FROM users
      WHERE email=p7;
      SELECT id_country INTO v_fk_country FROM country
      WHERE id_country = fk_country;
 
      IF v_login != null THEN
      SET var1=1;
              ELSEIF v_tm_login != null THEN
              SET var1=2;
                      ELSEIF v_email != null THEN
                      SET var1=3;
                              ELSE
                                    insert into users (login,password,login_tm,first_name,last_name,adress,email,last_logon,fk_id_group,fk_id_player,fk_id_country)
                                    values (p1,p2,p3,p4,p5,p6,p7,p8,1,null,v_fk_country);
                      END IF;
              END IF;
      END IF;
 
      return var1;
END
Pourquoi ce code ne passe pas ?
Où est l'erreur ?

D'avance merci.
Franck.