SQLinfo.ru - Все о MySQL Webew.ru: теория и практика веб-технологий

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 15.03.2010 22:15:24

Fenrir
Участник
Зарегистрирован: 15.03.2010
Сообщений: 1

Немогу поднять дамп базы, ошибка синтаксиса.

Сохранил дамп базы в SQL Manager 2005, сейчас использую SQLyog. Немогу поднять дамп, ошибка синтаксиса при вызове процедур:


CREATE PROCEDURE `AddSignal` (IN object_id_full INTEGER, IN target_id_full INTEGER, IN target_x INTEGER, IN target_y INTEGER, IN ap_command INTEGER, IN command INTEGER, IN command_parameters INTEGER, IN attack_type INTEGER, IN fly_mode INTEGER)
    NOT DETERMINISTIC
    SQL SECURITY DEFINER
    COMMENT ''
BEGIN
ADD_SIGNAL:Begin
  declare done int default 0;
  declare continue handler for sqlstate '02000'
    begin
      set done=1;
    end;
#  команды управления (сигналы)
if (ap_command=1) then
    insert into signals
      (
        object_id_full,target_id_full,
        target_x,target_y,ap_command,
        command,command_parameters,
        attack_type,fly_mode
      )
    values
      (
        object_id_full,target_id_full,
        target_x,target_y,ap_command,
        command,command_parameters,
        attack_type,fly_mode
      )
    on duplicate key update
      signals.`target_id_full`=target_id_full,
      signals.`target_x`=target_x,
      signals.`target_y`=target_y,
      signals.`command`=command,
      signals.`command_parameters`=command_parameters,
      signals.`attack_type`=attack_type,
      signals.`fly_mode`=fly_mode
    ;
  end if;
  if (ap_command=2) then
    insert into signals
      (
        object_id_full,target_id_full,
        target_x,target_y,ap_command,
        command,command_parameters,
        attack_type,fly_mode
      )
    values
      (
        object_id_full,target_id_full,
        target_x,target_y,ap_command,
        command,command_parameters,
        attack_type,fly_mode
      )
    on duplicate key update
      signals.`fly_mode`=fly_mode
    ;
  end if;
  if (ap_command=3) then
    insert into signals
      (
        object_id_full,target_id_full,
        target_x,target_y,ap_command,
        command,command_parameters,
        attack_type,fly_mode
      )
    values
      (
        object_id_full,target_id_full,
        target_x,target_y,ap_command,
        command,command_parameters,
        attack_type,fly_mode
      )
    on duplicate key update
      signals.`target_id_full`=target_id_full,
      signals.`target_x`=target_x,
      signals.`target_y`=target_y,
      signals.`command`=command,
      signals.`command_parameters`=command_parameters,
      signals.`attack_type`=attack_type,
      signals.`fly_mode`=fly_mode
    ;
  end if;
  if (ap_command=4) then
    insert ignore into signals
      (
        object_id_full,target_id_full,
        target_x,target_y,ap_command,
        command,command_parameters,
        attack_type,fly_mode
      )
    values
      (
        object_id_full,target_id_full,
        target_x,target_y,ap_command,
        command,command_parameters,
        attack_type,fly_mode
      )
    ;
  end if;
end ADD_SIGNAL;
END;
 


Error occured at:2010-03-15 21:12:34
Line no.:2481
Error Code: 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 '' at line 7

COMMENT '' - из дампа я убрал(мало ли, может непонимает коммент, хотя должен), но подобная ошибка все равно выходит... Буду благодарен за помощь...

Отредактированно Fenrir (15.03.2010 22:18:01)

Неактивен

 

#2 15.03.2010 23:22:55

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Немогу поднять дамп базы, ошибка синтаксиса.

Попробуйте сделать дамп через mysqldump и восстановить через консоль. Может проблема в используемых клиентах.

Неактивен

 

#3 16.03.2010 13:40:18

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Немогу поднять дамп базы, ошибка синтаксиса.

А DELIMITER правильный используете? Не знаю уж как йоги работают, но все нормальные
клиенты в конце процедуры пишут нормальный DELIMITER.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson