begin ;

create table a (
  id serial primary key
  , info text not null -- not interested here
) ;

create table b (
  id serial primary key
  , a_id int not null references a
  , info text not null -- not interested here
  , actual bool not null
) ;

create unique index b_actual on b
  ( a_id , ( case when actual then 0 else id end ) )
;

create table c (
  id serial primary key
  , a_id int not null references a
  , info text not null -- not interested here
  , actual bool not null
  , unique ( a_id , ( case when actual then 0 else id end ) )
) ;


Why can i not define the unique constraint in the
create table? I know this is described in the manual but
why this is.



thanks
Andreas


btw Why must i give the index a name. The name should
be created automatically if none is specified as i
define a unique constraint in the create table.



-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to