我有许多对所有模式都通用的记录。我将这些记录放在共享模式表中,并希望从每个子模式中的此共享父表继承记录行。
假设我有以下架构:
CREATE SCHEMA parent;
CREATE SCHEMA a;
CREATE SCHEMA b;
CREATE TABLE parent.component (product_id serial PRIMARY KEY, title text);
CREATE TABLE a.component () INHERITS (parent.component);
CREATE TABLE b.product () INHERITS (parent.component);
INSERT INTO parent.component(title) VALUES ('parent');
INSERT INTO a.component(title) VALUES ('a_test') ,('a_test2') ;
INSERT INTO b.component(title) VALUES ('b_test') ,('b_test2');
当我在parent
或{{1}上发出选择时,是否可以选择a.component
以及b.component
或a
中的行的并集}?
例如:
b
返回行:
SELECT * FROM a.component;
答案 0 :(得分:0)
PostgreSQL具有多重继承,因此表可以是许多表的子节点。你可以尝试继承另一个方向!
但也许简单的UNION ALL
查询是一种更简单,更好的解决方案。