уникальность поля, грабли
От: Lebets_VI  
Дата: 19.10.06 06:59
Оценка:
Прошу не пинать . в таблице есть поле, в котором имеются записи о значением NULL. понадобилось для этого поля сделать уникальность значений. Читаю БОЛ, написано, что индекс построить в таком поле нельзя, т.к. имеются несколько значений NULL. А вот уникальный CONSTRAIT, написано что можно создать, что типа CONSTRAIT оперирует только со значениями, а NULL игнорирует. НЕПОЛУЧЕТСЯ!!!
может я BOL не так читаю ?
Re: уникальность поля, грабли
От: Shirvanoff  
Дата: 19.10.06 07:56
Оценка:
Здравствуйте, Lebets_VI, Вы писали:

L_V>Прошу не пинать . в таблице есть поле, в котором имеются записи о значением NULL. понадобилось для этого поля сделать уникальность значений. Читаю БОЛ, написано, что индекс построить в таком поле нельзя, т.к. имеются несколько значений NULL. А вот уникальный CONSTRAIT, написано что можно создать, что типа CONSTRAIT оперирует только со значениями, а NULL игнорирует. НЕПОЛУЧЕТСЯ!!!

L_V>может я BOL не так читаю ?

если база под ms sql server, то ты можешь создать constraint <название констрейнта> unique (<название поля>), но такое не позволит хранить в таблице в данном поле более одно значения null, можно другой constraint использовать — constraint <название констрейнта> check (<некое догическое выражение>).
В логическом выражении можешь вызвать функцию, которая проверяет на уникальность поле без учета null'ов.
Re: уникальность поля, грабли
От: Lloyd Россия  
Дата: 19.10.06 08:16
Оценка: +1 -1
Здравствуйте, Lebets_VI, Вы писали:

L_V>Прошу не пинать . в таблице есть поле, в котором имеются записи о значением NULL. понадобилось для этого поля сделать уникальность значений. Читаю БОЛ, написано, что индекс построить в таком поле нельзя, т.к. имеются несколько значений NULL. А вот уникальный CONSTRAIT, написано что можно создать, что типа CONSTRAIT оперирует только со значениями, а NULL игнорирует. НЕПОЛУЧЕТСЯ!!!

L_V>может я BOL не так читаю ?

Можно создать хранимую вьюху с условием поле IS NOT NULL, а на вьюху повесить констрейнт. Но скорее всего это может ухудшить перформанс.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: уникальность поля, грабли
От: yogi Россия  
Дата: 20.10.06 07:50
Оценка:
Здравствуйте, Lebets_VI, Вы писали:

L_V>Прошу не пинать . в таблице есть поле, в котором имеются записи о значением NULL. понадобилось для этого поля сделать уникальность значений. Читаю БОЛ, написано, что индекс построить в таком поле нельзя, т.к. имеются несколько значений NULL. А вот уникальный CONSTRAIT, написано что можно создать, что типа CONSTRAIT оперирует только со значениями, а NULL игнорирует. НЕПОЛУЧЕТСЯ!!!

L_V>может я BOL не так читаю ?

А это проблема не решится установкой параметра ANSI_NULLS?(или как его там зовут)
Путь к сердцу женщины лежать не должен.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.