powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Уникальные поля
4 сообщений из 4, страница 1 из 1
Уникальные поля
    #32023451
Denis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет!
Вот какая проблема. Есть таблица с полями d_act(datetime) и nom_act(char(10)). Нужно создать уникальность совокупности этих полей по такому условию: в течении одного календарного года nom_act уникален. У меня напрашивается только такое решение: создать еще одно поле act_year(integer), которое будет заполняться по формуле: year(d_act). И теперь добавить constraint uq_act unique nonclustered(nom_act, act_year). Но мне самому не очень это решение по душе. Может кто-то более красивое решение подскажет?
...
Рейтинг: 0 / 0
Уникальные поля
    #32023458
MadDog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Триггер.
В sql2k можно пользовательскую функцию привязать к check constraint.
...
Рейтинг: 0 / 0
Уникальные поля
    #32023462
Владимир Смирнов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ещё вариант - триггер на вставку, изменение.
Правда, нужно проверить наличие/отсутствие дублирования номера для каждой записи (т.е. проверить наличие записей из inserted и таблицы, объединённых по номеру и году, для которых count > 1 ), а это существенно медленнее, чем для unique.
...
Рейтинг: 0 / 0
Уникальные поля
    #32023463
А ещё можно задействовать новую в sql2000 фичку - навесить уникальный индекс на вычисляемое поле.
Хотя мне больше по душе решение от MadDog.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Уникальные поля
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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