Вот пример процедуры , написанной в MYSQL WORKBENCH версии 8.0. Но уже на строке 3 возникает ошибка "unexpected end of input found , expecting ;" Не могу понять, что не так. Знак ";" и ставил и убирал.
CREATE PROCEDURE TEST()
BEGIN
DECLARE test_id, last_id, i INT;
SET @TEST_ID = 1 -- start compare with this ID
SET @LAST_ID = 100 -- end compare with this ID
WHILE @TEST_ID <= @LAST_ID
BEGIN
SELECT @ID = (SELECT chip_number FROM chip_db WHERE chip_number = @TEST_ID)
IF @ID IS NULL
BEGIN
PRINT 'Missing ID: ' + CAST(@TEST_ID AS VARCHAR(10))
END
SET @TEST_ID = @TEST_ID + 1
END
END;
Вам нужно переопределить delimeter:
DELIMITER $$
CREATE PROCEDURE TEST()
BEGIN
DECLARE test_id , last_id, i INT;
SET @TEST_ID = 1; -- start compare with this ID
SET @LAST_ID = 100; -- end compare with this ID
WHILE @TEST_ID <= @LAST_ID
DO
SELECT @ID = (SELECT chip_number FROM chip_db WHERE chip_number = @TEST_ID);
IF @ID IS NULL THEN
BEGIN
SELECT concat('Missing ID: ', @TEST_ID);
END;
end if;
SET @TEST_ID = @TEST_ID + 1;
END WHILE;
END$$
Обратите внимание, насколько я знаю, в mysql print отсутствует, хотя с новыми версиями я не работал, в старых нужно было использовать select.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Пробую записать JSON в MySql, но не получается из-за слэшей и кавычек которые находятся в JSON'неКак можно сделать?
У меня есть данные с такими подобного вида \/dad\/\/ddad после записи в MySql
На хостинге заказал услугу электронной почтыСоздал ящик support@mydomain
Пытаюсь выполнить запрос через PDO, ответ пустойХотя сам по себе запрос корректный