Как сделать Проверочное ограничение в Студио 2005 Сервер

boralexe
Дата: 21.01.2009 15:59:29
Не могу сделать проверочное ограничение чтобы в поле INT счетчик вел счет каждый год сначала

Заранее извиняюсь, тупой пока ишо
Glory
Дата: 21.01.2009 16:03:52
boralexe
Не могу сделать проверочное ограничение чтобы в поле INT счетчик вел счет каждый год сначала

Заранее извиняюсь, тупой пока ишо

check constraint не генерирует значения, а проверяет вводимые
Зайцев Фёдор
Дата: 21.01.2009 16:05:31
чтобы счётчик вёл? чтобы каждый год? чтобы сначала?
boralexe
Дата: 21.01.2009 16:11:38
Да
pkarklin
Дата: 21.01.2009 16:15:51
boralexe
Да


В студио это можно сделать:
1. Создав таблицу, где хранить значение счетчика для каждого года.
2. Создав процедуру, для получения и инкрементирования следующего значения счетчика для года.
3. Написав процедуру для вставки в основную таблицу с использованием процедуры п.2 или, использовать написанную процедуру в триггере на основной таблице.

С чем у Вас проблемы?
iap
Дата: 21.01.2009 16:22:06
Можно ещё хранить только общий счётчик, а значения с начала какого-то года получать вычитанием из общего значения минимального за данный год.
Вычислять по мере необходимости в запросах, представлениях, процедурах, функциях.
boralexe
Дата: 21.01.2009 16:26:40
Вот так мона?

select isnull(max(Nomer),0) + 1 from Tab_Pos where Year(sDat) = YEAR(GETDATE())
Glory
Дата: 21.01.2009 16:27:11
boralexe
Вот так мона?

select isnull(max(Nomer),0) + 1 from Tab_Pos where Year(sDat) = YEAR(GETDATE())

нельзя