触发器以防止在 postgresql 中更新

Trigger to prevent update in postgresql

我想创建一个触发器,如果​​该条目也出现在另一个 table 中,它将阻止从该 table 连续更新。

示例

Table M
m_id   title  
1       abc
2       def
3       ghi

Table N
n_id   m_id
1       2
2       3

因此,如果尝试更新 table 中的值 2 或 3,则不应允许这样做 而如果我尝试从 table 更新值 1,它应该这样做。

您必须创建一个触发器 BEFORE UPDATE ON m FOR EACH ROW 来检查 IF OLD.m_id <> NEW.m_id AND EXISTS (SELECT 1 FROM n WHERE n.m_id = OLD.m_id) 并在这种情况下抛出异常。