Как написать цикл, который выполняется n раз в MySql без использования хранимой процедуры.Цикл n раз без использования хранимой процедуры
Это, как я это сделать с хранимой процедурой:
DELIMITER $$
DROP PROCEDURE IF EXISTS test$$
CREATE PROCEDURE test()
BEGIN
DECLARE count INT DEFAULT 0;
WHILE count < 10 DO
/**Sql statement**/
SET count = count + 1;
END WHILE;
END$$
DELIMITER ;
И тогда я исполню моя процедура так:
call test();
Если я удалить хранимую процедуру и запустить обычный запрос, то он не с этой ошибкой:
1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DECLARE count INT DEFAULT 0; WHILE count < 10 DO at line' 2
Я просмотрел Интернет для решения с n o удача.
Редактировать На основании комментариев:
выше хранимая процедура делает именно то, что я хочу: Это петли 10 раз и выполнить мое заявление SQL. Теперь я хочу выполнить одно и то же, не используя хранимую процедуру. Что-то вроде:
DECLARE count INT DEFAULT 0;
WHILE count < 10 DO
/**Sql statement**/
SET count = count + 1;
END WHILE;
Я понятия не имею в mysql, но разве это не потому, что подсчет в зарезервированном ключевом слове? – HoneyBadger
@HoneyBadger Я пробовал с другим именем, он не работает –
Непонятно, что вы просите. У вас есть хранимая процедура, и вы вызываете свою процедуру. После этого вы удалили процедуру и * запустили обычный запрос *, как 'SELECT 10;'? если это так, вы никогда не получите сообщение об ошибке, которое вы отправили. Поэтому покажите нам запрос, который вы пытаетесь запустить. – Alex