[英]Triggers in Postgres fired unexpectedly
我有一個父表和幾個FK指向父表的子表。 我從父表中刪除了一條記錄,並且我注意到這會觸發所有子表上的刪除觸發器,即使我要刪除的父記錄在這些子表中沒有子記錄。
我覺得這很奇怪。 但是我來自SQL Server,因此Postgres中的行為可能有所不同。
如果重要的話,我的觸發器是語句級觸發器。
有人可以解釋一下,給我指出一些參考資料嗎?
我現在沒有發布任何代碼。但是我認為對於一些在Postgres有更多經驗的人來說,情況將是顯而易見的。
無論受影響的記錄數如何,都會觸發語句級別觸發器。 因此,即使不存在任何子記錄,也會執行自動delete語句(假設FK on delete cascade
),因此將觸發觸發器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.