Есть пара ошибок.
Мы не объявляем определяемые пользователем переменные в MySQL. Всего SET
их.
Если вы хотите указать DECLARE
переменную в процедуре, которая должна быть переменной переменной.
определена переменная пользователь имеет имя, которое начинается с символа @
. A процедура переменная не может начинаться с @
знак.
Таким образом, линия, как это ошибка:
DECLARE @foo ...
Если вы хотите использовать определенный пользователь переменным, удалите эту строку. Если вы хотите использовать переменную процедуру, удалите @
с начала имени переменной (и сделать это же самое изменение везде вы хотите сослаться на процедуру переменной foo
.)
И SEBSTRING
не имя MySQL при условии функция.
Кроме того, булево выражение в списке SELECT запроса возвращает 0, 1 или NULL.
Например:
SELECT @caratteri = substring(@caratteri +1)
Это выражение сравнивает значение на левой стороне =
со значением справа, и собирается вернуться 1
, если они равны, или 0
если Арен 't или NULL, если одно из значений равно NULL.
Чтобы выполнить назначение пользовательской переменной в инструкции SELECT, используйте оператор Pascal-стиля :=
.
(Если вы хотите выполнить задание, дизайн делает его похожим на то, что вы гогины, чтобы каждый раз пропустить первый символ в цикле, что в конечном итоге станет пустой строкой, если мы достаточно продолжим цикл. возможно, захотят подумать о том, чтобы оставить статическую строку. Рассмотрите возможность увеличения целых значений и используйте их как аргументы в функции SUBSTRING. И вы можете использовать оператор MOD
, чтобы получить целочисленное значение для «wrap».)
Как ваш код не работает? Или вы просто хотели, чтобы мы случайно догадались? – David
Sebstring() ...? –
Sebstring - клерикальная ошибка ... – Humanbeings