Re: [pgsql-ru-general] Частично уникальное поле

From: Nikolay Samokhvalov <samokhvalov(at)gmail(dot)com>
To: "Dmitry E(dot) Oboukhov" <unera(at)debian(dot)org>
Cc: pgsql-ru-general(at)postgresql(dot)org
Subject: Re: [pgsql-ru-general] Частично уникальное поле
Date: 2011-03-12 23:00:19
Message-ID: AANLkTinKcj5hiX2Fk6-DOgY=4uV2J5uEGGZ_Ux6wFwq8@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-ru-general

2011/3/13 Dmitry E. Oboukhov <unera(at)debian(dot)org>

> Пользователь вводит некие данные.
>
> Если он их не вводил, там NULL. Если он вводит эти данные, то они
> должны быть уникальными между всеми введенными данными.
>
> что-то я не пойму как построить ограничение, которое будет отслеживать
> уникальность только между теми значениями что не NULL.
>
> индекс построил
>
> CREATE UNIQUE INDEX "tbli" ON "tbl" ("col") WHERE "col" IS NOT NULL;
>
> а как построить CONSTRAINT? не хочется RULE приделывать
>
>
UNIQUE INDEX это уже и есть ограничение целостности (constraint).

IS NOT NULL можно смело опустить, т.к. проверки на уникальность в
юник-индексе и так всегда проводятся по NOT NULL значениям.

In response to

Responses

Browse pgsql-ru-general by date

  From Date Subject
Next Message Dmitriy Igrishin 2011-03-12 23:04:08 Re: [pgsql-ru-general] Re: [pgsql-ru-general] Частично уникальное поле
Previous Message Dmitriy Igrishin 2011-03-12 22:48:09 Re: [pgsql-ru-general] Частично уникальное поле