Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как в Interbase поле Unique заставить принимать NULL / 7 сообщений из 7, страница 1 из 1
30.11.2001, 16:38
    #32018249
Timur
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в Interbase поле Unique заставить принимать NULL
Из описания IB и из моего опыта следует, что поля объявленные как NOT NULL Unique не могут принимать значения Null. Правильно?
А мне нужны такие поля!!! Чтоб было как в Access и SQL Server.
Как обойти эту проблему? Создавать триггеры?
Или все - таки я ошибаюсь?
...
Рейтинг: 0 / 0
03.12.2001, 16:15
    #32018351
Garya
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в Interbase поле Unique заставить принимать NULL
Ничччего не понял... Нафига объявлять поле Not null, если нужно чтобы поле принимало Null? Так объявляй его NULL, и все!
Поля с констрейнтом unique принимают Null только один раз (все последующие Null будут восприниматься как повторяющиеся значения, нарушающие условие ограничения).
Если тебя не устраивает, как работает констрейнт, воспользуйся триггером. В нем можно наворотить хоть черта лысого.
...
Рейтинг: 0 / 0
04.12.2001, 03:31
    #32018368
rmax
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в Interbase поле Unique заставить принимать NULL
2Garya

А что, в триггере можно заставить поле not null принимать значение null? И будет ли это фичей а не багом?
...
Рейтинг: 0 / 0
04.12.2001, 06:43
    #32018375
GreenSunrise
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в Interbase поле Unique заставить принимать NULL
2 rmax: отвечу за Garya. Разумеется, нет. Он имел в виду, что если стандартных механизмов поддержания целостности не хватает, то можно реализовать более сложные условия в триггерах. Но поле not null принять значение null не выйдет нигде
.
...
Рейтинг: 0 / 0
04.12.2001, 07:48
    #32018380
rmax
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в Interbase поле Unique заставить принимать NULL
что впрочем вполне логично
...
Рейтинг: 0 / 0
04.12.2001, 11:13
    #32018408
Timur
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в Interbase поле Unique заставить принимать NULL
Понял, что вопрос поставлен мной некорректно.
В InterBase объявление UNIQUE применяется только с приставкой NOT NULL . Без него IB выдаст ошибку и требование объявить поле как NOT NULL .
Например, правильным будет
create table names(name char(30) NOT NULL UNIQUE );
и ошибкой create table names(name char(30) UNIQUE );
Это в Access, SQL Server объявление поля как UNIQUE позволяет заполнять его NULL-значениями, а в IB - нет.
Вот я и спрашиваю: как в IB реализовать столь нужную мне функциональность - позволить вводить в поле NULL-значения, а отличные от NULL-значений величины были бы гарантировано уникальными.
...
Рейтинг: 0 / 0
04.12.2001, 11:28
    #32018413
Timur
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в Interbase поле Unique заставить принимать NULL
Ответ мной получен на соседнем форуме (IB) .
Проблему можно решить только через триггер.
Спасибо всем.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как в Interbase поле Unique заставить принимать NULL / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]