Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / о работе риггеров / 8 сообщений из 8, страница 1 из 1
04.10.2007, 15:10
    #34847043
Rastafarra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
о работе риггеров
день добрый.

есть проблема с триггером "before ui". иногда (именно иногда) при внесении в таблицу новой записи, триггер не отрабатывает. причем если сделать update set id=id where id=id (грубо), то все отрабатывает правильно. для этого даже пришлось в программный код вставить такой update сразу после insert.

наблюдается это в версии 8.1.4 и в 8.2.4.

как побороть?
...
Рейтинг: 0 / 0
04.10.2007, 15:48
    #34847199
pamir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
о работе риггеров
Показать сюда код триггера. Думаю, что там есть какой-нибудь IF, который ИНОГДА не срабатывает по причине того, что криво написан.
...
Рейтинг: 0 / 0
04.10.2007, 16:34
    #34847367
Rastafarra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
о работе риггеров
да дело в том, что он срабатывает при update без изменения строки. я бы понял, если бы требовалось что-то менять в данных, но просто update id=id... имхо странно.
...
Рейтинг: 0 / 0
04.10.2007, 16:42
    #34847408
Dan Black
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
о работе риггеров
Rastafarraда дело в том, что он срабатывает при update без изменения строки. я бы понял, если бы требовалось что-то менять в данных, но просто update id=id... имхо странно.
Где код триггера?!
Если хотите просто рассказать, как у Вас всё плохо и ничего не работает, то велкам в ПТ
...
Рейтинг: 0 / 0
04.10.2007, 18:43
    #34847836
Andrey Daeron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
о работе риггеров
Rastafarraда дело в том, что он срабатывает при update без изменения строки. я бы понял, если бы требовалось что-то менять в данных, но просто update id=id... имхо странно.
А UPDATE не все равно меняется ли у Вас что-то или нет? Строчка попала под условие - значит UPDATE есть. Быть может Вы не верно понимаете суть и моменты вызова триггера?
...
Рейтинг: 0 / 0
05.10.2007, 07:15
    #34848344
Rastafarra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
о работе риггеров
Dan BlackГде код триггера?!
Если хотите просто рассказать, как у Вас всё плохо и ничего не работает, то велкам в ПТ
я хочу сказать что у меня творится что-то, про что я, видимо, еще не читал. прошу тыкнуть в мануалы.
код показывать имхо смысла нет, потому что он берет значения из других таблиц и вызывает процедуры. при таком подходе надо показывать код всех связных процедур тоже.

Andrey DaeronА UPDATE не все равно меняется ли у Вас что-то или нет? Строчка попала под условие - значит UPDATE есть. Быть может Вы не верно понимаете суть и моменты вызова триггера?

Код: plaintext
insert into mytable (id, field) values ( 1 , 'text')
триггер не отработал.
сразу же, следующей строкой:
Код: plaintext
update mytable set field=field where id= 1 ;
триггер отработал.

как так?
...
Рейтинг: 0 / 0
05.10.2007, 09:08
    #34848484
Andrey Daeron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
о работе риггеров
Rastafarra
Код: plaintext
insert into mytable (id, field) values ( 1 , 'text')
триггер не отработал.
сразу же, следующей строкой:
Код: plaintext
update mytable set field=field where id= 1 ;
триггер отработал.
как так?
Смотря какой триггер. Может Вы его на AI повесили или AS. Кто Вас знает.
Сколько сам работал, сколько форум читаю - это Ваши грабли.

ЗЫ Т.е. совет - или показать код создания триггеров и ихфункций (связанных пока не нужно), или самостоятельно покурить внимательно над кодом.
...
Рейтинг: 0 / 0
05.10.2007, 11:40
    #34849051
pamir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
о работе риггеров
Rastafarraкод показывать имхо смысла нетПриходите Вы к врачу, он вам и говорит: "Ну-с, батенька, раздевайтесь, будем смотреть". А Вы ему "А чего раздеваться? Смысла ИМХО, нет. У меня просто иногда что-то болит в животе. Вот и расскажите, какие таблетки пить, чтобы не болело".
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / о работе риггеров / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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