触发更新某些表而不更新主表

时间:2019-03-14 20:43:54

标签: postgresql database-trigger

由于我的前端应用程序,我无法使用PostgreSQL视图。因此,我有一个虚拟表,在该表中我临时插入记录只是为了触发对另外三个表的插入。然后删除该伪记录。

表格为companyphonecompany_phonedummy_company:)

插入是可以的,但是为了在三个表之间更新数据,我认为在虚拟表更新时触发一个触发器,并在不触摸虚拟表的情况下更新真实表(因为它为空)。

类似的东西:

CREATE FUNCTION update_company() RETURNS TRIGGER AS $$
  BEGIN
    UPDATE phone SET number = NEW.number
      WHERE id = NEW.phone_id;
    UPDATE company SET name = NEW.name
      WHERE id = NEW.id;
    RETURN NEW;
  END;
$$ LANGUAGE plpgsql;

CREATE TRIGGER update_company BEFORE UPDATE ON dummy_company
  FOR EACH ROW EXECUTE PROCEDURE update_company();

所以我想在一个空表上更新触发器,以更新其他表。有可能吗?

0 个答案:

没有答案