powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Проверка в триггере на вставку записи
4 сообщений из 4, страница 1 из 1
Проверка в триггере на вставку записи
    #38750657
KSVSVK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть таблица:

Код: sql
1.
2.
3.
4.
5.
6.
create table operations(
Id integer unsigned not null auto_increment,
Investor integer unsigned not null default 0,
Delta Dec(11, 2) not null,
Data date default null,
primary key (Id));



и триггер (сокращенный вариант):

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
delimiter !!

create trigger operations_insert
before insert on operations
for each row
begin
  set new.Data := if(new.Data is null, now(), new.Data);

  select Sum(Delta) from operations into @I
  where ((Investor = new.Investor)and((Delta > 0)or(Data < new.Data)));
end !!

delimiter ;



Т.е. мне нужно внутри триггера посчитать несколько сумм и потом использовать их для контроля вводимых значений.
При попытке выполнить имею:

ERROR 1064 (42000): 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 'where
((Investor = new.Investor)and((Delta > 0)or(Data < new.Data)));


end' at line 8

В чем состоит ошибка понять не могу
...
Рейтинг: 0 / 0
Проверка в триггере на вставку записи
    #38750769
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В отсутствии точки с запятой в одной из строк.
...
Рейтинг: 0 / 0
Проверка в триггере на вставку записи
    #38750770
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или скорее в том, что кляузы запроса расположены в неправильном порядке - INTO поставлена перед WHERE.
...
Рейтинг: 0 / 0
Проверка в триггере на вставку записи
    #38750881
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkinaИли скорее в том, что кляузы запроса расположены в неправильном порядке - INTO поставлена перед WHERE.+1
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Проверка в триггере на вставку записи
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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