Bonjour,
Je tente depuis un moment déjà de créer cette procédure dans ma base de données en passant par la textarea de requête SQL de phpMyAdmin
Comme vous l'avez surement deviné cette procédure permet d'ajouter un nouvel utilisateur. Mais pour créer ce nouvel utilisateur j'ai besoin d'un ID unique et donc je créé d'abord un objet de la table tDObj qui possède une PK auto_increment. La PK de tUser est une FK vers la PK de tDObj. Je veux donc créer un tDObj puis créer un tUser avec l'id du dernier tDObj créé. J'ai retourné cette procédure dans tout les sens pour qu'elle passe mais phpMyAdmin me retourne une erreur sans aucun sens :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 create procedure sUserCreate ( _IdActor int, _UserName varchar(64), _Password varchar(64) ) begin if _IdActor = 1 then insert into `tDObj` ( DObjID, AclID ) values ( default, 1 ); insert into `tUser` ( DObjID, UserName, Password ) values ( (select max(DObjID) from tDObj), _UserName, _Password ); end if; end
C'est la première fois que je m'attaque aux procédure stockée sous mysql, j'en ai déjà une certaine expérience sous SQL Server 2005 mais ici la syntaxe quoi que similaire en est totalement différente. Un ami m'a affirmé que ma procédure était syntaxiquement bonne et en m'aidant des différentes documentations disponible sur internet, j'estime qu'elle l'est, cependant l'erreur de syntaxe incohérente persiste.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2#1064 - 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 '' at line 9
Auriez vous une réponse a me donner ?
Merci d'avance
Partager