Page 1 sur 1

mysql-workbench: passer un argument d'une procédure dans UPDATE SET...

Posté : 23 août 2018, 11:00
par phidu
Bonjour,

J'essaie de trouver comment faire passer un argument d'une procédure dans la commande UPDATE SET de ladite procédure.
J'utilise Workbench et voici un exemple de script qui me pose problème:

Code : Tout sélectionner

CREATE DEFINER=`user`@`localhost` PROCEDURE `choose_and_modify`(IdWhereInsert varchar(100), ColToModify varchar(100), ValueToInsert varchar(100)) BEGIN UPDATE `maBase`.`maTable` SET ColToModify = ValueToInsert WHERE `IdCol` = IdWhereInsert; END
Cela fonctionne bien avec l'argument IdWhereInsert (qui me permet de choisir quelle entrée modifier) et l'argument ValueToInsert mais pose problème avec ColToModify qui n'est pas interprété comme une variable: lorsque j'appelle ma procédure, j'ai ce message d'erreur:

Code : Tout sélectionner

ERROR 1054 (42S22): Unknown column 'ColToModify' in 'field list'
Est-ce juste un problème de syntaxe ? Ou est-ce que je dois passer par une nouvelle variable locale avec DECLARE ?

Merci d'avance à qui m'aidera à me mettre sur la bonne piste !