On Sat, Feb 13, 2010 at 7:24 PM, Jeff Davis <pgsql@xxxxxxxxxxx> wrote: > On Wed, 2010-02-10 at 03:46 +0000, Iain Barnett wrote: > >> CREATE TYPE inventory_item2 AS ( >> name text, >> supplier_id integer, >> price numeric, >> size integer >> ); >> >> >> but it would be handy if I could reuse inventory_item instead of >> having to retype the whole lot. I can't work out or find the right >> syntax, can anyone show me how? Any help would be much appreciated. > > What about: > > CREATE TYPE inventory_item2 AS ( > ii inventory_item, > size integer > ); > > or: > > CREATE TABLE inventory_item2 ( > LIKE inventory_item, > size integer > ); Pretty neat. I wasn't aware you could mix LIKE with explicit field declarations. Those expressions produce different results...the first creates a type within a type (nested) and the second creates a new unnested type based on the fields of the original type. The first expression creates a dependency while the second does not. This flexibility is only possible if you create types with the 'create table' statement. merlin -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general