我是觸發器的新手。 我有一個function
,我用它來檢查密碼是否有效,返回boolean
的值。只有在值爲真時才能觸發觸發器嗎? (這將根據成功的密碼檢查更新last_login_time
)。基於函數返回值的PostgreSQL觸發器
PS我使用PostgreSQL 9.0.4
是否有可能寫出這樣的觸發?
我是觸發器的新手。 我有一個function
,我用它來檢查密碼是否有效,返回boolean
的值。只有在值爲真時才能觸發觸發器嗎? (這將根據成功的密碼檢查更新last_login_time
)。基於函數返回值的PostgreSQL觸發器
PS我使用PostgreSQL 9.0.4
是否有可能寫出這樣的觸發?
不,但您可以在觸發器中再次檢查密碼,並在驗證後執行所需的邏輯。觸發器只能在INSERT,UPDATE或DELETE之後或之前觸發,或者在每行或整個語句之後觸發。沒有辦法有條件地觸發某種類型的AFAIK觸發器。
編輯: CREATE TRIGGER語句中有一個WHEN子句,它允許指定觸發器應該觸發的條件,但是您必須檢查條件中的驗證條件,該條件等同於我在上面發佈的條件,只含有句法糖。
儘管如此,這可能是應該在存儲過程或DB之外完成的事情。
你用什麼樣的過程來記錄人們?觸發器是通過在表上插入,更新或刪除來觸發的,但我猜測你沒有執行任何這些操作。 –