Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Возможно ли создать поле UNIQUE, которое может принимать значение NULL? / 8 сообщений из 8, страница 1 из 1
27.08.2019, 14:53
    #39854225
Игорь_UUS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возможно ли создать поле UNIQUE, которое может принимать значение NULL?
Добрый день.

Задача создать поле которое по умолчанию имеет значение NULL, по истечению времени оно будет заполняться, и, значения должны быть уникальны в рамках таблицы по данному полю (исключение значение NULL).

Возможно ли создать такой индекс?
...
Рейтинг: 0 / 0
27.08.2019, 14:54
    #39854226
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возможно ли создать поле UNIQUE, которое может принимать значение NULL?
Фильтрованный индекс.
...
Рейтинг: 0 / 0
27.08.2019, 15:02
    #39854232
Игорь_UUS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возможно ли создать поле UNIQUE, которое может принимать значение NULL?
Гавриленко Сергей АлексеевичФильтрованный индекс.

не слышал... можете помочь примером? очень буду благодарен. Использую mssql2016
...
Рейтинг: 0 / 0
27.08.2019, 15:04
    #39854233
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возможно ли создать поле UNIQUE, которое может принимать значение NULL?
...
Рейтинг: 0 / 0
27.08.2019, 15:07
    #39854234
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возможно ли создать поле UNIQUE, которое может принимать значение NULL?
Игорь_UUS,

WITH NOCHECK
если я правильно понимаю
...
Рейтинг: 0 / 0
27.08.2019, 15:25
    #39854251
Minamoto
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возможно ли создать поле UNIQUE, которое может принимать значение NULL?
Игорь_UUSГавриленко Сергей АлексеевичФильтрованный индекс.

не слышал... можете помочь примером? очень буду благодарен. Использую mssql2016

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
CREATE TABLE #t (id int, val int NULL);

CREATE UNIQUE INDEX temp_t ON #t(val) WHERE val IS NOT NULL;

INSERT INTO #t(id, val) VALUES( 1, null), (2, NULL)

UPDATE #t SET val = 1 WHERE id = 1

UPDATE #t SET val = 1 WHERE id = 2

SELECT * FROM #t

DROP TABLE #t
...
Рейтинг: 0 / 0
27.08.2019, 15:28
    #39854254
iap
iap
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возможно ли создать поле UNIQUE, которое может принимать значение NULL?
...
Рейтинг: 0 / 0
27.08.2019, 15:36
    #39854262
Игорь_UUS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возможно ли создать поле UNIQUE, которое может принимать значение NULL?
MinamotoИгорь_UUSпропущено...


не слышал... можете помочь примером? очень буду благодарен. Использую mssql2016

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
CREATE TABLE #t (id int, val int NULL);

CREATE UNIQUE INDEX temp_t ON #t(val) WHERE val IS NOT NULL;

INSERT INTO #t(id, val) VALUES( 1, null), (2, NULL)

UPDATE #t SET val = 1 WHERE id = 1

UPDATE #t SET val = 1 WHERE id = 2

SELECT * FROM #t

DROP TABLE #t



Спасибо! Вроде как то что надо!
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Возможно ли создать поле UNIQUE, которое может принимать значение NULL? / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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