Bonjour
j'ai créé dans une requête stockée, une requête dynamique pour pouvoir passer en paramètre le nom d'une colonne
ça fonctionne mais je veux récupérer la valeur contenu dans cette "p_col1" car je veux l'updater et je voudrais tout faire dans la même requête pour ne pas reconnecter à la base de donnée
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 BEGIN SET @req = CONCAT('SELECT ',p_col1,' FROM donnes_players WHERE id =',p_id_donnes_players); PREPARE stmt1 FROM @req; EXECUTE stmt1; DEALLOCATE PREPARE stmt1; END
voici ce que j'ai essayé, ci-dessous (MAIS qui ne fonctionne pas)
j'ai essayé aussi, ci-dessous (MAIS ça ne fonctionne pas non plus)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 BEGIN SET @req = CONCAT('SELECT ',@val_col1,':=',p_col1,' FROM donnes_players WHERE id =',p_id_donnes_players); PREPARE stmt1 FROM @req; EXECUTE stmt1; DEALLOCATE PREPARE stmt1; SET @Nval_col1 = REPLACE(@val_col1, p_carte1,'') ; END
je reçois le cod'erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 BEGIN SET @req = CONCAT('SELECT ',p_col1,' INTO ',@val_col1,' FROM donnes_players WHERE id =',p_id_donnes_players); PREPARE stmt1 FROM @req; EXECUTE stmt1; DEALLOCATE PREPARE stmt1; SET @Nval_col1 = REPLACE(@val_col1, p_carte1,'') ; END#1064 - Erreur de syntaxe près de 'NULL' à la ligne 1
Partager