Обсуждение: inherit table and its data

Поиск
Список
Период
Сортировка

inherit table and its data

От
Dilyan Berkovski
Дата:
hi All,
I am using PostgreSQL 8.2, and I am interested in creating a table B that inherits table A, but with all it's data!

create table B {a int} inherits A, just adds the structure of table A, not its data.

Is it possible to do this without the classic way - trigger on table A so each insert/update is done also in B, or it's
notpossible without triggers. 

thanks, Dilyan





Re: inherit table and its data

От
Christian Schröder
Дата:
Dilyan Berkovski wrote:
> I am using PostgreSQL 8.2, and I am interested in creating a table B that inherits table A, but with all it's data!
>
> create table B {a int} inherits A, just adds the structure of table A, not its data.
>
PostgreSQL's inheritance works the other way around: If table B inherits
table A and you select all records from A you will also get all records
from B (but only the fields that are inherited from A). This is
consistent with the definition of inheritance in object-oriented
programming.
Consider the example from the manual (chapter 5.8): Assume you have a
table with cities and a table with capitals which inherits from the
cities table. If you select from the capitals table, why should you
expect to get all cities, even those that are not capitals?

> Is it possible to do this without the classic way - trigger on table A so each insert/update is done also in B, or
it'snot possible without triggers. 
>
I don't think so.

Regards,
    Christian

--
Deriva GmbH                         Tel.: +49 551 489500-42
Financial IT and Consulting         Fax:  +49 551 489500-91
Hans-Böckler-Straße 2                  http://www.deriva.de
D-37079 Göttingen

Deriva CA Certificate: http://www.deriva.de/deriva-ca.cer