由于我的前端应用程序,我无法使用PostgreSQL视图。因此,我有一个虚拟表,在该表中我临时插入记录只是为了触发对另外三个表的插入。然后删除该伪记录。
表格为company
,phone
,company_phone
和dummy_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();
所以我想在一个空表上更新触发器,以更新其他表。有可能吗?