创建一个具有多个表作为属性类型的属性

时间:2017-03-18 18:54:15

标签: sql postgresql

我有一个包含表A,B,C的数据库是否可以创建另一个表,让我们称之为" kind"

CREATE TABLE public.kind(
    name CHAR(40) PRIMARY KEY,
    object A, B, C
);

这种表中的类型是否可以使对象为A或b或c?

而不是像这样应该做到这一点:

CREATE TABLE public.kind(
    name CHAR(40) PRIMARY KEY,
    object_A A,
    object_B B,
    object_C C
);

由于

1 个答案:

答案 0 :(得分:1)

在Postgres中,是的。您可以使用表继承。我建议你在documentation中阅读。

基本上,你说:

CREATE TABLE public.abc_generic (
    name CHAR(40) PRIMARY KEY
);

CREATE TABLE public.a (
    . . .
) inherits (public.abc_generic);