Re: partial unique constraint

Поиск
Список
Период
Сортировка
От Achilleus Mantzios
Тема Re: partial unique constraint
Дата
Msg-id Pine.LNX.4.44.0404061752300.4620-100000@matrix.gatewaynet.com
обсуждение исходный текст
Ответ на partial unique constraint  (Robert Treat <xzilla@users.sourceforge.net>)
Список pgsql-sql
O kyrios Robert Treat egrapse stis Apr 6, 2004 :

> Trying to come up with the proper syntax to meet the following criteria:
> 
> create table foo (bar integer, baz boolean UNIQUE (bar, baz = true)); 

You could simply leave your table as is.
A null vale on baz (equivalent of 'false') will have no impact on the 
constraint.

A 't' value (equivalent to 'true') will enforce the constraint.

In other words you can convert your problem as
baz == null <==> baz='false'
baz == 't' <==> baz='true'
(you must never use baz='f')

> 
> note the above syntax is not correct, but should demonstrate what i'm
> trying to do; I want to add a unique constraint such that we only allow
> one case of bar and baz = true...  i can have unlimited bar and baz =
> false, and there can be multiple bar and baz = true if the bars are
> different...  did some doc reading and mail list searching but a valid
> syntax for this seems to be escaping me... 
> 
> btw I'm pretty sure I could do this with an external trigger, but am
> wondering about a constraint oriented approach
> 
> Robert Treat
> 

-- 
-Achilleus



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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: partial unique constraint
Следующее
От:
Дата:
Сообщение: Re: partial unique constraint