PG 继承

继承是面向对象数据库中的概念。它展示了数据库设计的新的可能性。

CREATE TABLE  XXX(
	XX	XXX
)	INHERITS(xx);
CREATE TABLE A(
	name	text,
	population	real,
	elevation	int		
);

CREATE TABLE B(
	state	char(2)	UNIQUE	NOT	NULL
)	INHERITS(A);

B从它的父A继承了所有列(name、population和elevation)。
列name的类型是text,一种用于变长字符串的本地PostgreSQL类型。
在PostgreSQL中,一个表可以从0个或者多个表继承。

INSERT INTO A (name,elevation)
	values ('Las Vegas',2174);
INSERT INTO A (name,elevation)
	values ('Mariposa',1953);

INSERT INTO B (name,elevation,state)
	values ('Madison',845,'cc');

SELECT name,elevation FROM a WHERE elevation >500;

SELECT name,elevation FROM ONLY A WHERE elevation >500;

ONLY用于指示查询只在A表上进行而不会涉及到继承层次中位于A之下的其他表。
很多我们已经讨论过的命令 — SELECT、UPDATE 和DELETE — 都支持这个ONLY记号。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值