multi-column unique constraints with nullable columns

Поиск
Список
Период
Сортировка
От Tornroth, Phill
Тема multi-column unique constraints with nullable columns
Дата
Msg-id 967F41F63A2D10469114F0A19E56B17E365B8F@SIRIUS.intellidot.net
обсуждение исходный текст
Ответы Re: multi-column unique constraints with nullable columns  (Stephan Szabo <sszabo@megazone.bigpanda.com>)
Re: multi-column unique constraints with nullable columns  (Mikey <mikeboscia@gmail.com>)
Список pgsql-sql
I have many tables who's natural key includes a nullable column. In this cases it's a soft-delete or 'deprecated' date
time.I'd like to add a table constraint enforcing this constraint without writing a custom procedure, but I've found
thatpostgres treats NULLs very consistently with respect to the NULL != NULL behavior. As a result, when I define a
constrainton the last two columns in these insert statements... they both succeed. 

insert into mytable values (1,300, null);
insert into mytable values (1,300, null);

This is frustrating, and while there may be someone who actually wants constraints to work this way... I can't
understandwhy. 

Now, I understand that the best way to solve my problem would be to use only non-nullable columns for my natural keys.
Iactually plan to do that, and use a very high value for my 'undeprecated' date to solve most of my problems related to
this.However, I can't release that version of software carelessly and I need to tighten up customer databases in the
meantime.

Is there a way to get the behavior I want?

Also, is this in compliance with SQL92? I'm surprised constraints work this way.

Thank you,
Phill


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

Предыдущее
От: Veronica L Bounmixay
Дата:
Сообщение: Re: Coming from Oracle SQL
Следующее
От: "Ramakrishnan Muralidharan"
Дата:
Сообщение: Re: Looking for a way to sum integer arrays....