Re: inherited type

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: inherited type
Дата
Msg-id 6596.1112369404@sss.pgh.pa.us
обсуждение исходный текст
Ответ на inherited type  (Miguel Angel Tribaldos Hervas <mitriher@teleco.upv.es>)
Список pgsql-general
Miguel Angel Tribaldos Hervas <mitriher@teleco.upv.es> writes:
> I am working with inheritance in postgresql 7.4. If I create a table named A,
> and another named B that inherits from A, if I perform a query such a
> "SELECT * FROM A" (without ONLY clause),
> how can I get the type (identifier from pg_type) of the returned records??

I think what you are after is the "tableoid" system column.  Try
    SELECT tableoid, * FROM A;
or more readably
    SELECT tableoid::regclass, * FROM A;
or you can do the above "by hand"
    SELECT p.relname, A.* FROM A, pg_class p WHERE p.oid = a.tableoid;

If you really want the composite type IDs then it's
    SELECT p.reltype, A.* FROM A, pg_class p WHERE p.oid = a.tableoid;

            regards, tom lane

В списке pgsql-general по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: PL/PERL with composite return values & PGSQL 7.4?
Следующее
От: Michael Fuhr
Дата:
Сообщение: Re: inherited type