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.