在postgresql中防止更新的触发器
我想创建一个触发器,如果该条目也存在于另一个表中,它将阻止该表中某一行的更新 范例在postgresql中防止更新的触发器,sql,postgresql,triggers,cascade,Sql,Postgresql,Triggers,Cascade,我想创建一个触发器,如果该条目也存在于另一个表中,它将阻止该表中某一行的更新 范例 Table M m_id title 1 abc 2 def 3 ghi Table N n_id m_id 1 2 2 3 因此,如果试图更新表m中的值2或3,则不应允许这样做 然而,如果我试图从表中更新值1,它应该会这样做。在更新m之前,您必须为每一行创建一个触发器,检查OLD.m_id NEW.m_id是否存在,并从n中选择1,其中
Table M
m_id title
1 abc
2 def
3 ghi
Table N
n_id m_id
1 2
2 3
因此,如果试图更新表m中的值2或3,则不应允许这样做
然而,如果我试图从表中更新值1,它应该会这样做。在更新m之前,您必须为每一行创建一个触发器,检查OLD.m_id NEW.m_id是否存在,并从n中选择1,其中n.m_id=OLD.m_id,并在这种情况下抛出一个异常。很抱歉,我的回复太晚了,但我已经有一个外键约束,我想要的是如果尝试更新表N中表M中的条目,但不允许我这样做。如果可能,您能给出最终查询吗?