DashDB DB2 UNIQUE со значениями NULL

представляется невозможным объявить столбец NULLABLE и создать ограничение UNIQUE. Есть ли способ справиться с этим случаем? Мне нужен столбец, который может содержать значения NULL или значения UNIQUE. Может быть, триггер может сделать это? Спасибо

Я использую DashDB


person yelo3    schedule 18.01.2017    source источник


Ответы (2)


Вы не упоминаете свою платформу и версию DB2... это может иметь значение.

Но попробуйте добавить индекс UNIQUE WHERE NOT NULL..

CREATE UNIQUE WHERE NOT NULL INDEX myindex ON mytable (columnn1)

person Charles    schedule 18.01.2017
comment
Версия DashDB в облаке IBM Bluemix (точно не знаю, какая это версия). - person yelo3; 19.01.2017
comment
На самом деле я заметил ошибку в своем вопросе, я ранее написал индекс, но я имел в виду ограничение - person yelo3; 19.01.2017

Можно - посмотрите вариант

ИСКЛЮЧИТЬ НУЛЕВЫЕ КЛЮЧИ

в синтаксисе CREATE INDEX здесь

person MichaelTiefenbacher    schedule 18.01.2017
comment
На самом деле я заметил ошибку в своем вопросе, я ранее написал индекс, но я имел в виду ограничение - person yelo3; 19.01.2017
comment
В настоящее время вы не можете сделать это с уникальным ограничением. Однако, поскольку уникальное ограничение является логической конструкцией (ее физическая реализация обеспечивается с помощью уникального индекса), создание уникального индекса, как предлагает @MichaelTiefenbacher, приведет к тому же эффекту. - person Ian Bjorhovde; 19.01.2017