Postgresql之表继承

Postgresql之表继承


继承是来自面向对象的数据库的概念。

让我们创建两个表:一个表TABLE8和一个表TABLE9,并创建视图取两者合并的数据

CREATE TABLE TABLE8 (    --创建表TABLE8
  id varchar,
  name varchar,
  age int,
  state char(2)
);

CREATE TABLE TABLE9 (	--创建表TABLE9
  id varchar,
  name varchar,
  age int
);

CREATE VIEW V_TABLE 	--创建视图V_TABLE 用来合并表TABLE8和TABLE9
AS
SELECT id,name,age FROM table8
	UNION
SELECT id,name,age FROM table9;

就查询而言,这行得通,但是多少会有点复杂

这里可以用继承来更简单的解决:

CREATE TABLE TABLE10 (   --创建表TABLE10
  id varchar,
  name varchar,
  age int
);

CREATE TABLE TABLE10_1 (  --创建表TABLE10_1,并继承TABLE10 表的所有字段
  state char(2) UNIQUE NOT NULL
) INHERITS (TABLE10);

在这种情况下,TABLE10_1 从其父级TABLE10 继承所有列。并且可以定义自己特有的列(例如 state)


结语:欢迎有其他方法的小伙伴来讨论!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值