Как сказал Кассной, вам лучше всего использовать IDENTITY
и иметь гораздо менее запутанный и сложный процесс.
Если вы намерены использовать описанный вами процесс, все, что вам нужно, это:
INSERT INTO MyTable WITH (TABLOCK)
(field 1, field2, field3...)
VALUES
(value 1, value 2, value 3...)
Подсказка TABLOCK
устанавливает исключительную блокировку таблицы для вставки / обновления (вы также можете использовать TABLOCKX
, которая является явной исключительной блокировкой, но не обязательна, за исключением SELECT
).
Подсказка TABLOCK
также включит минимально регистрируемые вставки, если ваши флаги трассировки установлены правильно, что обычно значительно быстрее, хотя при наличии только 5000 записей вы можете не заметить разницы.