在表上删除之前的Postgres外键级联和触发器操作

时间:2019-05-23 10:37:24

标签: postgresql triggers foreign-keys constraints

我在postgres DB中有三个表A(id,user_name),B(id,user_id),C(user_name)。表B对表A中的(user_id)具有外键约束ON DELETE CASCADE。表B还具有BEFORE DELETE触发器,该触发器还应从表C中删除具有与表A中的user_name匹配的记录。因此,如果删除了表B中的记录,则应查询从A删除user_name并从C删除该记录。但是,当我从A中删除记录时,它会触发B上的删除级联。因此,理想情况下,它也应该从C中删除记录。但这不会发生。在这种情况下(在触发函数中),我要获取用于删除表A中C记录的user_name的查询返回null。为什么我在查询中得到null?有什么办法可以使这种情况起作用。

0 个答案:

没有答案