使用Postgres 9.6,我有2个表,一个将它们连接在一起的视图,以及一条规则,当您尝试将其插入视图时会插入到两个表中。
只要调用代码不使用RETURNING子句,它就可以正常工作。
CREATE OR REPLACE RULE insert_my_view
AS ON INSERT TO my_view DO INSTEAD
(
INSERT INTO tableA(tableA_id, name) VALUES (NEW.tableA_id, NEW.name) RETURNING *, NEW.some_other (or maybe tableB.some_other);
INSERT INTO tableB(tableA_id, some_other) VALUES (NEW.tableA_id, NEW.some_other);
);
是否有办法使每个插入返回其数据,然后将整个返回语句的结果加入?