在 PostgreSQL 中这些表
CREATE TABLE cities (
name text,
population float,
altitude int -- in feet
);
CREATE TABLE cities_capitals (
state char(2)
) INHERITS (cities);
我怎么能够以编程方式检查是否其中之一表继承自另一个表或不? (想想 information_schema、pg_catalog,...)
应该true
对于城市_首都和false
对于城市。
有一个目录表:pg_inherits.
目录pg_inherits
记录有关表继承的信息
层次结构。中的每个直接子表都有一个条目
数据库。 (间接继承可以通过以下链来确定
条目数。)
这是适合您的问题的查询:
SELECT EXISTS (
SELECT FROM pg_catalog.pg_inherits
WHERE inhrelid = 'public.cities_capitals'::regclass
);
TRUE
如果表cities_capitals
从其他地方继承FALSE
.
为了确定,对名称进行架构限定。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)