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

Petit nouveau ! | 1 Messages

23 août 2018, 11:00

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 !