Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 unique  [new]
FreeFire
Member

Откуда:
Сообщений: 185
add unique (col1,col2,year(col3))
не работает
как можно добавить такое ограничение?
без создания col4=year(col3)
17 окт 16, 13:13    [19789905]     Ответить | Цитировать Сообщить модератору
 Re: unique  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
FreeFire,

триггер
17 окт 16, 13:14    [19789922]     Ответить | Цитировать Сообщить модератору
 Re: unique  [new]
iap
Member

Откуда: Москва
Сообщений: 47000
Сделать вычисляемое поле, а его включить в уникальный индекс (или констрейнт, неважно).
17 окт 16, 13:26    [19790026]     Ответить | Цитировать Сообщить модератору
 Re: unique  [new]
FreeFire
Member

Откуда:
Сообщений: 185
TaPaK,

но тригерром отменить вставку ведь нельзя?
17 окт 16, 14:09    [19790321]     Ответить | Цитировать Сообщить модератору
 Re: unique  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
FreeFire,

instead of trigger
17 окт 16, 14:11    [19790334]     Ответить | Цитировать Сообщить модератору
 Re: unique  [new]
invm
Member

Откуда: Москва
Сообщений: 9400
FreeFire
как можно добавить такое ограничение?
без создания col4=year(col3)
Индексированное представление.
FreeFire
но тригерром отменить вставку ведь нельзя?
Можно. Использование rollback в триггере никто не отменял.
Предварительно ознакомьтесь в документации с последствиями такого rollback.
17 окт 16, 14:16    [19790362]     Ответить | Цитировать Сообщить модератору
 Re: unique  [new]
FreeFire
Member

Откуда:
Сообщений: 185
спасибо
17 окт 16, 14:31    [19790467]     Ответить | Цитировать Сообщить модератору
 Re: unique  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
TaPaK
FreeFire,

instead of trigger
Вот ну нафига?
18 окт 16, 00:29    [19792760]     Ответить | Цитировать Сообщить модератору
 Re: unique  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
Mind
TaPaK
FreeFire,

instead of trigger
Вот ну нафига?

что нас остановит?
18 окт 16, 08:53    [19793025]     Ответить | Цитировать Сообщить модератору
 Re: unique  [new]
FreeFire
Member

Откуда:
Сообщений: 185
подумал
и сделал через
constraint check (function)

вставка/изменение новых значений происходит по 1 записи
поэтому так вроде оптимальнее...
18 окт 16, 13:26    [19794475]     Ответить | Цитировать Сообщить модератору
 Re: unique  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
TaPaK
Mind
пропущено...
Вот ну нафига?

что нас остановит?
Ну можно и гвозди микроскопом...
18 окт 16, 19:15    [19796478]     Ответить | Цитировать Сообщить модератору
 Re: unique  [new]
Makar4ik
Member

Откуда: Когда-то были Лужки, а теперь Бордюр-Сити.
Сообщений: 2676
Ой, какое накладное решение!

Мы, типа по 1-й записи...
База до пары сотен гига вырастет, и поползут детские проблемы...
Триггеры делать не массовыми - это вообще плохой тон!
18 окт 16, 23:35    [19797202]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить