|
Наивный вопрос по триггерам after update
|
|||
---|---|---|---|
#18+
Сделал такой триггер, чтобы обновлять дату изменения записи авторCREATE TRIGGER tr_customers_on_change BEFORE UPDATE ON public.customers FOR EACH ROW EXECUTE PROCEDURE public.trproc_upd_customers(); CREATE OR REPLACE FUNCTION public.trproc_upd_customers ( ) RETURNS trigger AS $body$ BEGIN NEW.modified:=CURRENT_TIMESTAMP; RETURN NEW; END; $body$ LANGUAGE 'plpgsql'; После этого искал, почему не обновляется поле. Изменил BEFORE UPDATE на AFTER UPDATE - все сработало. Получается, что триггеры, которые должны менять что-то в таблице должны быть афтер апдейт. А, если в триггере надо вписать в другую таблицу, то он может быть и бефоре. Где я не прав? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2017, 16:22 |
|
Наивный вопрос по триггерам after update
|
|||
---|---|---|---|
#18+
Ролг Хупин, с утра пьёте, поруччик ? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2017, 17:07 |
|
Наивный вопрос по триггерам after update
|
|||
---|---|---|---|
#18+
qwwqРолг Хупин, с утра пьёте, поруччик ? с утра, но не сегодняшнего, было два выходных ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2017, 17:09 |
|
Наивный вопрос по триггерам after update
|
|||
---|---|---|---|
#18+
цитат из документацииКак правило, триггеры BEFORE уровня строки используются для проверки или модификации данных, которые будут вставлены или изменены. Например, триггер BEFORE можно использовать для вставки текущего времени в столбец timestamp или проверки, что два элемента строки согласованы между собой. Триггеры AFTER уровня строки наиболее разумно использовать для каскадного обновления данных в других таблицах или проверки согласованности сделанных изменений с данными в других таблицах. Причина для такого разделения работы в том, что триггер AFTER видит окончательное значение строки, в то время как для триггера BEFORE это не так, ведь могут быть другие триггеры BEFORE, которые сработают позже. Если нет особых причин для выбора между триггерами BEFORE или AFTER, то триггер BEFORE предпочтительнее, так как не требует сохранения информации об операции до конца работы оператора. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2017, 17:19 |
|
Наивный вопрос по триггерам after update
|
|||
---|---|---|---|
#18+
Ролг Хупин, Или вы напутали в ваших тестах или посте или контрольный пример в студию. Так как все равно наоборот тому что вы написали. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2017, 00:57 |
|
Наивный вопрос по триггерам after update
|
|||
---|---|---|---|
#18+
Maxim BogukРолг Хупин, Или вы напутали в ваших тестах или посте или контрольный пример в студию. Так как все равно наоборот тому что вы написали. Вы правы, сделал пример - всё работает в Бефоре Но странно, почему в реальной таблице не обновлялась дата Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2017, 12:12 |
|
Наивный вопрос по триггерам after update
|
|||
---|---|---|---|
#18+
Моя ошибка, вопрос снят ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2017, 12:26 |
|
Наивный вопрос по триггерам after update
|
|||
---|---|---|---|
#18+
Добрый день, тыкните пожалуйста носом что не так Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2017, 11:57 |
|
Наивный вопрос по триггерам after update
|
|||
---|---|---|---|
#18+
shaman902, а что не так по-вашему? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2017, 12:06 |
|
Наивный вопрос по триггерам after update
|
|||
---|---|---|---|
#18+
А что тут вообще происходит в триггере? крайне странно написанный вот такой запрос? Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2017, 12:11 |
|
Наивный вопрос по триггерам after update
|
|||
---|---|---|---|
#18+
shaman902, незнаю, как там с логикой, но RETURN части, по моему, не хватает... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2017, 12:26 |
|
Наивный вопрос по триггерам after update
|
|||
---|---|---|---|
#18+
есть значения в полях power1, 2, 3 но может стоять и пустая ячейка - " оборудование не установленно"; нужна сумма по етим полям в результирующию при любых изменених полей power1, 2, 3 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2017, 12:28 |
|
Наивный вопрос по триггерам after update
|
|||
---|---|---|---|
#18+
shaman902, а зачел луп делается по "всем?" рекордам в таблице, а не толко в той записи, которая изменяется? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2017, 12:34 |
|
Наивный вопрос по триггерам after update
|
|||
---|---|---|---|
#18+
shaman902, ну так делайте в бефоре тригере NEW.power_nom := NEW.power1 + NEW.power2 + NEW.power3; и псё... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2017, 12:36 |
|
Наивный вопрос по триггерам after update
|
|||
---|---|---|---|
#18+
Melkij,выполняеться без ошибок, но ничего не происходит (( ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2017, 12:47 |
|
Наивный вопрос по триггерам after update
|
|||
---|---|---|---|
#18+
shaman902, а вы в конец функции RETURN NEW; добавили? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2017, 12:52 |
|
Наивный вопрос по триггерам after update
|
|||
---|---|---|---|
#18+
shaman902, Код: sql 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2017, 12:56 |
|
Наивный вопрос по триггерам after update
|
|||
---|---|---|---|
#18+
Lonepsychoshaman902, а зачел луп делается по "всем?" рекордам в таблице, а не толко в той записи, которая изменяется? и не по всем, а по магически определённым 10 For i in 1..10 loop ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2017, 13:11 |
|
Наивный вопрос по триггерам after update
|
|||
---|---|---|---|
#18+
Ролг ХупинLonepsychoshaman902, а зачел луп делается по "всем?" рекордам в таблице, а не толко в той записи, которая изменяется? и не по всем, а по магически определённым 10 For i in 1..10 loop да, я видел, но предпорожил, что это у него 10 штук записей в тесте, и он так их обновляет. правда зачем, не понятно. подозреваю, что так в нём пхп програмист говорит. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2017, 13:22 |
|
|
start [/forum/topic.php?fid=53&msg=39555032&tid=1996099]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
41ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
others: | 291ms |
total: | 429ms |
0 / 0 |