Deklarieren und Verwenden von MySQL-Variablen varchar
Ich versuche, einige einfache Manipulationen mit Variablen in MySQL 5.0 durchzuführen, aber ich kann es nicht ganz zum Laufen bringen. Ich habe viele (sehr!) Verschiedene Syntaxen für DECLARE / SET gesehen, ich bin mir nicht sicher, warum ... auf jeden Fall ich sie vermutlich verwirre / die falsche auswähle / sie mische.
Hier ist ein minimales Fragment, das fehlschlägt:
DECLARE FOO varchar(7);
DECLARE oldFOO varchar(7);
SET FOO = '138';
SET oldFOO = CONCAT('0', FOO);
update mypermits
set person = FOO
where person = oldFOO;
Ich habe auch versucht, es mit BEGIN ... END zu verpacken. und als VERFAHREN. In diesem Fall teilt mir MySQL Workbench hilfreich mit: "SQL-Syntaxfehler in der Nähe von ')'" in der ersten Zeile und "SQL-Syntaxfehler in der Nähe von 'DECLARE oldFOO varchar (7)'" in der zweiten Zeile. Andernfalls werden beide Zeilen vollständig als Fehler ausgegeben, wobei auf beiden "SQL-Syntaxfehler in der Nähe von ..." steht.
Edit: Ich habe vergessen zu erwähnen, dass ich es mit und ohne @s auf den Variablen ausprobiert habe. Einige Ressourcen hatten es mit, andere ohne.
Welcher blöde Fehler mache ich?