У меня есть две колонки, одна из них является t1
(int
тип), который является автоматическое приращение, а другой столбец t2
(char
тип)Как сбросить автоматический столбец инкремента в SQL Server
Я пытаюсь выполнить вставку запрос
INSERT into test(t2) values('test1');
INSERT into test(t2) values('test2');
INSERT into test(t2) values('test3');
посмотреть на результат ниже
t1 | t2
----------
1 | test1
2 | test2
3 | test3
Я хочу написать тр igger, что если я пытаюсь выполнить запрос на удаление, автоматическое приращение сбрасывается
Delete from t1
where t1 = 2;
Я хочу, чтобы триггер, который возвращает этот результат:
t1 | t2
----------
1 | test1
2 | test3
Пожалуйста, дайте мне знать, лучший способ!
Я жду вашего ответа
Благодарности
Autoidentity не вписывается в сценарий вы описали, потому что вы не можете изменить значение столбца, имеющее autoidentity. Лучше удалить autoidentity из столбца 't1' и пересчитать его значения в insert/delete с помощью триггеров. –
Плохой план. если вы заботитесь о числовом значении столбцов идентификации, вы используете их неправильно. Это похоже на простой «ROW_NUMBER() OVER (ORDER BY t1)», включенный, когда вы * выбираете *, эти данные предоставят вам результаты без необходимости повторять назначение значений столбцов. –