Зависимость значений столбца идентификаторов после нескольких вставок SQL

StackOverflow https://stackoverflow.com/questions/1195527

Вопрос

Если следующее верно:Существует строка SQL с несколькими вставками (с использованием хранимой процедуры):

"EXEC SPInsertData...EXEC SPInsertData...EXEC SPInsertData..."

Идентификатор в столбце идентификаторов, который автоматически увеличивается, каждой новой записи меньше идентификатора следующей.

Например.после выполнения данной строки SQL идентификатор первой записи меньше идентификатора второй записи, а ее идентификатор меньше идентификатора третьей записи?

Это было полезно?

Решение

Да, если это правильный столбец идентификаторов с автоматическим приращением.

Другие советы

По своей природе автоинкременты увеличиваются с каждой вставкой на величину приращения.

MS SQL Server предлагает способ создания обратного порядка.Посмотрите здесь

create table #test
(
    TestId INT IDENTITY (2, -1),
    DateTimeStamp   DateTime
)
GO
INSERT INTO #test (DateTimeStamp) Values (GETDATE());
INSERT INTO #test (DateTimeStamp) Values (GETDATE());
INSERT INTO #test (DateTimeStamp) Values (GETDATE());
INSERT INTO #test (DateTimeStamp) Values (GETDATE());
INSERT INTO #test (DateTimeStamp) Values (GETDATE());
INSERT INTO #test (DateTimeStamp) Values (GETDATE());
INSERT INTO #test (DateTimeStamp) Values (GETDATE());
INSERT INTO #test (DateTimeStamp) Values (GETDATE());
GO
SELECT * FROM #test

Полученные результаты:

TestId      DateTimeStamp
2           2009-07-28 15:02:09.200
1           2009-07-28 15:02:09.200
0           2009-07-28 15:02:09.200
-1          2009-07-28 15:02:09.200
-2          2009-07-28 15:02:09.203
-3          2009-07-28 15:02:09.203
-4          2009-07-28 15:02:09.203
-5          2009-07-28 15:02:09.207
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top