#mysql #stored-procedures #syntax-error
#mysql #хранимые процедуры #синтаксическая ошибка
Вопрос:
Просто пытаюсь создать процедуру, которая копирует одну таблицу в новую, но продолжает получать всевозможные ошибки..
например: ошибка SQL [1064] [42000]: у вас ошибка в синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, на предмет правильного синтаксиса для использования рядом с ‘DELIMITER $$
СОЗДАЙТЕ ПРОЦЕДУРУ spClean_T() НАЧНИТЕ СОЗДАВАТЬ ТАБЛИЦУ staging_table КАК ‘ в строке 2
DELIMITER $$
CREATE PROCEDURE spClean_T()
BEGIN
CREATE TABLE staging_table AS SELECT * FROM raw_api_data
END$$
DELIMITER ;`
Спасибо
Комментарии:
1. Оператор CREATE TABLE должен быть завершен с
;
помощью . Также вы можете удалить BEGIN-END — в данном случае это лишнее.
Ответ №1:
Вы должны заканчивать все команды точкой с запятой, иначе mysql будет искать больше кода
DELIMITER $$
CREATE PROCEDURE spClean_T()
BEGIN
CREATE TABLE staging_table AS SELECT * FROM raw_api_data;
END$$
DELIMITER ;
Но если у вас нет дополнительных команд
Сделайте простой без РАЗДЕЛИТЕЛЯ
CREATE PROCEDURE spClean_T()
CREATE TABLE staging_table AS SELECT * FROM raw_api_data;