Прошу не пинать
. в таблице есть поле, в котором имеются записи о значением NULL. понадобилось для этого поля сделать уникальность значений. Читаю БОЛ, написано, что индекс построить в таком поле нельзя, т.к. имеются несколько значений NULL. А вот уникальный CONSTRAIT, написано что можно создать, что типа CONSTRAIT оперирует только со значениями, а NULL игнорирует. НЕПОЛУЧЕТСЯ!!!
может я BOL не так читаю ?
Здравствуйте, Lebets_VI, Вы писали:
L_V>Прошу не пинать . в таблице есть поле, в котором имеются записи о значением NULL. понадобилось для этого поля сделать уникальность значений. Читаю БОЛ, написано, что индекс построить в таком поле нельзя, т.к. имеются несколько значений NULL. А вот уникальный CONSTRAIT, написано что можно создать, что типа CONSTRAIT оперирует только со значениями, а NULL игнорирует. НЕПОЛУЧЕТСЯ!!!
L_V>может я BOL не так читаю ?
если база под ms sql server, то ты можешь создать constraint <название констрейнта> unique (<название поля>), но такое не позволит хранить в таблице в данном поле более одно значения null, можно другой constraint использовать — constraint <название констрейнта> check (<некое догическое выражение>).
В логическом выражении можешь вызвать функцию, которая проверяет на уникальность поле без учета null'ов.
Здравствуйте, Lebets_VI, Вы писали:
L_V>Прошу не пинать . в таблице есть поле, в котором имеются записи о значением NULL. понадобилось для этого поля сделать уникальность значений. Читаю БОЛ, написано, что индекс построить в таком поле нельзя, т.к. имеются несколько значений NULL. А вот уникальный CONSTRAIT, написано что можно создать, что типа CONSTRAIT оперирует только со значениями, а NULL игнорирует. НЕПОЛУЧЕТСЯ!!!
L_V>может я BOL не так читаю ?
Можно создать хранимую вьюху с условием поле IS NOT NULL, а на вьюху повесить констрейнт. Но скорее всего это может ухудшить перформанс.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Здравствуйте, Lebets_VI, Вы писали:
L_V>Прошу не пинать . в таблице есть поле, в котором имеются записи о значением NULL. понадобилось для этого поля сделать уникальность значений. Читаю БОЛ, написано, что индекс построить в таком поле нельзя, т.к. имеются несколько значений NULL. А вот уникальный CONSTRAIT, написано что можно создать, что типа CONSTRAIT оперирует только со значениями, а NULL игнорирует. НЕПОЛУЧЕТСЯ!!!
L_V>может я BOL не так читаю ?
А это проблема не решится установкой параметра ANSI_NULLS?(или как его там зовут)