Объявление и использование переменных MySQL varchar
Я пытаюсь сделать несколько простых манипуляций с переменными в MySQL 5.0, но не могу заставить его работать. Я видел много (очень!) Разных синтаксисов для DECLARE / SET, я не уверен, почему ... в любом случае я, по-видимому, путаю их / выбираю неправильный / смешиваю их.
Вот минимальный фрагмент, который терпит неудачу:
DECLARE FOO varchar(7);
DECLARE oldFOO varchar(7);
SET FOO = '138';
SET oldFOO = CONCAT('0', FOO);
update mypermits
set person = FOO
where person = oldFOO;
Я также попытался обернуть это с НАЧАЛО ... КОНЕЦ; и как ПРОЦЕДУРА. В этом случае MySQL Workbench услужливо сообщает мне: «Ошибка синтаксиса SQL рядом с ')'» в первой строке и «Ошибка синтаксиса SQL рядом с 'DECLARE oldFOO varchar (7)'» во второй. В противном случае он выдает обе строки как ошибки в полном объеме, с "ошибкой синтаксиса SQL рядом ..." на обеих.
Изменить: я забыл упомянуть, что я пробовал с и без @s на переменных. Некоторые ресурсы имели это с, другие без.
Какую глупую ошибку я делаю?