У меня есть таблица с 4 столбцами ID, c1, c2 и LOT. Идентификатор - это первичный ключ. Для каждой записи, когда c1 равно 5, я хочу автоматически генерировать число для LOT, которое будет последовательностью, начинающейся с 1 для каждого отдельного значения c2.MSSQL Может ли автокопирование столбца при определенных обстоятельствах
Так что если c1 не 5, LOT остается null. Но если c1 является 5, то для каждой записи где c2 = 1 Я хочу, чтобы заполнить LOT с автоинкрементной последовательностью, начиная с 1. Ex:
ID c1 c2 LOT
1 3
2 5 1 1
3 5 1 2
4 5 1 3
5 4
Затем сделать то же самое для другого значения с2. Так что если с2 2, есть еще куча автоинкрементные чисел LOT, начиная с 1:
ID c1 c2 LOT
6 3
7 5 2 1
8 5 1 4
9 5 2 2
10 5 2 3
Мы используем MSSQL 2014 Enterprise Ed. Было бы полезно использовать разбиение таблиц или мне нужно создавать специальные таблицы для каждого отдельного значения C2?
Извините, я не вижу ссылки на триггеры в этой ссылке. – user1693404
Извините, что я отправил неправильную ссылку ранее. См. Http://stackoverflow.com/q/24335341/1072229 для аналогичного обсуждения. –
Спасибо. Это выглядит актуальным. Я также нашел это: http://stackoverflow.com/questions/2205036/sql-server-unique-auto-increment-column-in-the-context-of-another-column?rq=1 с боковой панели, которая также адресует это с помощью триггера, который объясняет мою озабоченность ниже (о уникальности) – user1693404