Bonjour

Voici mon problème

Dans une table t1 j'ai un champ texte appelé DIV

Afin de l'utiliser comme comparateur dans l'UPDATE d'une autre table, il me faut changer la valeur de ce champ sachant que :

si champ = RFRV alors champ doit être égal à RFRM
si champ = RFRM alors champ doit être égal à RFRV
si champ autre alors champ = champ

j'ai essayé de créer une fonction à l'aide de MySql Query Brother

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
DELIMITER $$
 
DROP PROCEDURE IF EXISTS `suivi_transfert_retour`.`versusdiv` $$
CREATE PROCEDURE `suivi_transfert_retour`.`versusdiv`(TOTO)
 
BEGIN
SELECT CASE TOTO
  WHEN 'rfrv' THEN 'rfrm'
  WHEN 'rfrm' THEN 'rfrv' ELSE `TOTO`
END
END $$
 
DELIMITER ;
qui me renvoie une erreur de syntaxe 1064 "...to use near ')
BEGIN
SELECT CASE TOTO
WHEN 'rfrv' THEN 'rfrm'
WHEN 'rfrm' THEN 'rfr at line 1

C'est ma première création de fonction et je suis un peu perdu.

Quelqu'un peut il m'aider ?

Merci d'avance

Précision : j'ai ouvert tous les droits sur la base