Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.06.2017, 14:28   #1
Siluet
Форумчанин
 
Регистрация: 05.12.2008
Сообщений: 143
По умолчанию ошибка синтаксиса

pmHot и pmCold передаваемые из дельфи параметры

Код:
 delete sklad from sklad
  join (
    (select id,nomenkl from temp_t order by move limit pmHot)
    union
    (select id,nomenkl from temp_t order by move desc limit pmCold)
  ) as temp
  using(id,nomenkl);
если вместо pmHot и pmCold поставить цифру то всё нормально
в чем может быть дело ?

Дополнение: нагуглил что до версии 5.5.6 нельзя использовать в лимите динамический параметр.. как можно обойти?
Изображения
Тип файла: jpg sql111.jpg (45.7 Кб, 40 просмотров)

Последний раз редактировалось Siluet; 09.06.2017 в 14:32. Причина: нагуглил
Siluet вне форума Ответить с цитированием
Старый 09.06.2017, 14:43   #2
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Вроде в MySQL параметры через @ пишутся:

Код:
 delete sklad from sklad
  join (
    (select id,nomenkl from temp_t order by move limit @pmHot)
    union
    (select id,nomenkl from temp_t order by move desc limit @pmCold)
  ) as temp
  using(id,nomenkl);
Или так попробуйте, если из Delphi передаёте:

Код:
 delete sklad from sklad
  join (
    (select id,nomenkl from temp_t order by move limit :pmHot)
    union
    (select id,nomenkl from temp_t order by move desc limit :pmCold)
  ) as temp
  using(id,nomenkl);
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 09.06.2017, 14:48   #3
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

динамический запрос - PREPARE + EXECUTE в хранимке или как Sciv предложил
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка синтаксиса Соффи JavaScript, Ajax 18 29.03.2012 12:56
ошибка синтаксиса MetR Общие вопросы Delphi 11 13.01.2012 12:40
Ошибка синтаксиса sql roxy1807 Помощь студентам 2 07.04.2011 20:57
ошибка синтаксиса foreach KLAXON PHP 32 08.02.2011 15:57
Ошибка синтаксиса Santosh Microsoft Office Access 2 18.08.2010 00:15