
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
09.01.2003, 11:07
|
|||
|---|---|---|---|
|
|||
Не работает триггер |
|||
|
#18+
Подскажите где ошибка? 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.01.2003, 12:40
|
|||
|---|---|---|---|
|
|||
Не работает триггер |
|||
|
#18+
а у тебя запрос select VALL from AZSTANKS where (AFS_ID=NEW.AFS_ID) and (PRODCODE=NEW.PRODCODE) сколько записей возвращает??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.01.2003, 12:42
|
|||
|---|---|---|---|
Не работает триггер |
|||
|
#18+
Привет. Перед для отделения имён переменных от имён полей перед ними необходимо ставить двоеточие или знак вопроса в командах, где такая неоднозначность может наблюдаться. update AZSTANKS set VALL=(:vall_old+NEW.VALL), DATA='now' ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.01.2003, 13:08
|
|||
|---|---|---|---|
|
|||
Не работает триггер |
|||
|
#18+
А почему тогда ругается га INTO? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.01.2003, 13:13
|
|||
|---|---|---|---|
Не работает триггер |
|||
|
#18+
<А почему тогда ругается га INTO? Это он пошутил :-))))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.01.2003, 13:20
|
|||
|---|---|---|---|
|
|||
Не работает триггер |
|||
|
#18+
Про двоеточие это верно, лучше его поставить, чтобы потом не иметь лишних проблем... P.S. Ну и шуточки у вас... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.01.2003, 16:50
|
|||
|---|---|---|---|
|
|||
Не работает триггер |
|||
|
#18+
Дело было именно в двоеточии. После того как написал 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; всё заработало. Вообще бред какой-то. Во всей литературе и хелпе рекомендуют ставить двлеточие а тут такая лажа. Даже обидно :-/. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=40&mobile=1&tid=1580959]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
22ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
| others: | 239ms |
| total: | 348ms |

| 0 / 0 |
