Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / User-defined variables / 4 сообщений из 4, страница 1 из 1
29.04.2014, 18:25:47
    #38629322
User-defined variables
Добрый день!Помогите разобраться, пожалуйста. Пишу код для триггера
Код: sql
1.
2.
3.
4.
5.
6.
7.
BEGIN
   if (new.category != 1)
   begin
   SELECT transitparams.actnumber, transitparams.reportnumber into @varact,@varreport FROM transitparams WHERE transitparams.paramid=(select max(transitparams.paramid) from transitparams group by transitparams.category having transitparams.category <> '1');
   if(new.actnumber is null) then new.actnumber=@varact;
   end
END


Почему-то выдаётся сообщение, что в строке SELECT ошибка синтаксиса. В чем может быть дело?Спасибо большое! Может быть дело в user-defined variables и я как-то не так с ними работаю?
...
Рейтинг: 0 / 0
29.04.2014, 18:36:59
    #38629335
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
User-defined variables
1) Вот этот подзапрос:
Код: sql
1.
2.
3.
4.
select max(transitparams.paramid) 
from transitparams 
group by transitparams.category 
having transitparams.category <> '1'


логически кривой. Условие отбора следует перенести во WHERE.
2) Этот подзапрос возвращает более одной записи, что делает невозможным сравнение.
...
Рейтинг: 0 / 0
30.04.2014, 09:21:07
    #38629716
User-defined variables
Akina, переписала запрос таким образом:
Код: sql
1.
 SELECT transitparams.actnumber, transitparams.reportnumber into @varact,@varreport FROM transitparams WHERE transitparams.paramid=(select max(transitparams.paramid) from transitparams where transitparams.category <> '1');


Но ошибка синтаксиса все равно остается.
...
Рейтинг: 0 / 0
30.04.2014, 09:33:25
    #38629733
Cygapb-007
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
User-defined variables
Полина_МалинаНо ошибка синтаксиса все равно остается.Какая ошибка - все должны догадаться?

Попробуйте так:
Код: sql
1.
2.
3.
4.
5.
6.
SELECT actnumber, reportnumber 
INTO @varact,@varreport 
FROM transitparams 
WHERE category <> 1
ORDER BY paramid DESC
LIMIT 1;
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / User-defined variables / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]