簡體   English   中英

Postgres中的觸發器意外觸發

[英]Triggers in Postgres fired unexpectedly

我有一個父表和幾個FK指向父表的子表。 我從父表中刪除了一條記錄,並且我注意到這會觸發所有子表上的刪除觸發器,即使我要刪除的父記錄在這些子表中沒有子記錄。

我覺得這很奇怪。 但是我來自SQL Server,因此Postgres中的行為可能有所不同。

如果重要的話,我的觸發器是語句級觸發器。

有人可以解釋一下,給我指出一些參考資料嗎?

我現在沒有發布任何代碼。但是我認為對於一些在Postgres有更多經驗的人來說,情況將是顯而易見的。

無論受影響的記錄數如何,都會觸發語句級別觸發器。 因此,即使不存在任何子記錄,也會執行自動delete語句(假設FK on delete cascade ),因此將觸發觸發器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM