你好,我有一個觸發的Postgres避免觸發刪除級聯
一個問題,我有2個表:
- t_mandant
- t_user_has_mandant
當我刪除連續在t_user_has_mandant我叫觸發 beforeDeleteUserMandant() 但我需要一個可能忽略觸發呼叫時我刪除mandant從t_mandant
因爲t_user_has_mandant有外鍵上t_mandant這是刪除級聯。
使用IM的Postgres 8.4
你好,我有一個觸發的Postgres避免觸發刪除級聯
一個問題,我有2個表:
當我刪除連續在t_user_has_mandant我叫觸發 beforeDeleteUserMandant() 但我需要一個可能忽略觸發呼叫時我刪除mandant從t_mandant
因爲t_user_has_mandant有外鍵上t_mandant這是刪除級聯。
使用IM的Postgres 8.4
我試過了:RAISE NOTICE'table_name:%',TG_TABLE_NAME;結果是通知:table_name:t_user_has_mandant,但我的SQL查詢從t_mandant刪除,其中id_mandant = 555 ... –
嗯。也許。我沒有測試過我的答案。 –
另一個(但有點難看)的方法是查詢'pg_stat_activity'視圖來獲取當前查詢的文本並搜索其中的表名。 –
因此,如果刪除是由't_mandant'中的'CASCADE' FK引起的,那麼您想更改't_user_has_mandant'上的觸發器的邏輯嗎? –
yes只是在觸發器中什麼也不做,或者完全忽略它 –