Триггер PostgreSQL на основе возвращаемого значения функции - PullRequest
0 голосов
/ 12 декабря 2011

Я новичок в триггерах.У меня есть function, который я использую для проверки правильности пароля, который возвращает значение boolean.Можно ли вызвать триггер, только если значение равно true?(Это обновит last_login_time на основе успешной проверки пароля).

PS Я использую PostgreSQL 9.0.4

Можно ли написать такой триггер?

1 Ответ

1 голос
/ 12 декабря 2011

Нет, но вы можете проверить пароль еще раз в вашем триггере и выполнить необходимую логику, если он проверяется.Триггеры могут срабатывать только после или перед INSERT, UPDATE или DELETE, а также для каждой строки или для всего оператора.Там нет никакого способа условно запустить триггер определенного типа AFAIK.

Редактировать: в операторе CREATE TRIGGER есть предложение WHEN, которое позволяет указывать условия, когда триггер должен срабатывать, но тогда вам придется проверять проверку в условии, которое эквивалентно тому, что я опубликовал выше., только покрытый синтаксическим сахаром.

Тем не менее, это, вероятно, то, что должно быть сделано в хранимой процедуре или вне БД.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...