Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Не работает триггер / 7 сообщений из 7, страница 1 из 1
09.01.2003, 11:07
    #32087945
gray_k
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает триггер
Подскажите где ошибка?

create trigger AIGSM for GSM
active
after insert
as
declare variable vall_old integer;
begin
select VALL from AZSTANKS
where (AFS_ID=NEW.AFS_ID) and (PRODCODE=NEW.PRODCODE)
INTO :vall_old;
update AZSTANKS set VALL=(vall_old+NEW.VALL), DATA='now'
where AFS_ID=NEW.AFS_ID and PRODCODE=NEW.PRODCODE;
end;
Говрит вот что
Dynamic SQL Error
SQL error code = -104
Token unknown - line 9, char 10
?
Ругается на into.
...
Рейтинг: 0 / 0
09.01.2003, 12:40
    #32088062
Дегтярев Евгений
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает триггер
а у тебя запрос
select VALL from AZSTANKS
where (AFS_ID=NEW.AFS_ID) and (PRODCODE=NEW.PRODCODE)

сколько записей возвращает???
...
Рейтинг: 0 / 0
09.01.2003, 12:42
    #32088066
Gold
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает триггер
Привет. Перед для отделения имён переменных от имён полей перед ними необходимо ставить двоеточие или знак вопроса в командах, где такая неоднозначность может наблюдаться.
update AZSTANKS set VALL=(:vall_old+NEW.VALL), DATA='now' ...
...
Рейтинг: 0 / 0
09.01.2003, 13:08
    #32088093
Дегтярев Евгений
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает триггер
А почему тогда ругается га INTO?
...
Рейтинг: 0 / 0
09.01.2003, 13:13
    #32088096
Gold
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает триггер
<А почему тогда ругается га INTO?

Это он пошутил :-)))))
...
Рейтинг: 0 / 0
09.01.2003, 13:20
    #32088107
Дегтярев Евгений
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает триггер
Про двоеточие это верно, лучше его поставить, чтобы потом не иметь лишних проблем...

P.S.
Ну и шуточки у вас...
...
Рейтинг: 0 / 0
09.01.2003, 16:50
    #32088377
gray_k
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает триггер
Дело было именно в двоеточии. После того как написал
create trigger AIGSM for GSM
active
after insert
as
declare variable vall_old integer;
begin
select VALL from AZSTANKS
where (AFS_ID=NEW.AFS_ID) and (PRODCODE=NEW.PRODCODE)
INTO vall_old; //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
update AZSTANKS set VALL=(vall_old+NEW.VALL), DATA='now'
where AFS_ID=NEW.AFS_ID and PRODCODE=NEW.PRODCODE;
end;
всё заработало.
Вообще бред какой-то. Во всей литературе и хелпе рекомендуют ставить двлеточие а тут такая лажа. Даже обидно :-/.
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Не работает триггер / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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