0

如果下一个是正确的:有多个插入的 SQL 字符串(使用存储过程):

“执行 SPInsertData ... 执行 SPInsertData ... 执行 SPInsertData ...”

每条新记录的标识列中的 id 自动递增,小于下一条记录的 id。

例如,在执行给定的 SQL 字符串后,第一条记录的 id 小于第二条记录的 id,它的 id 小于第三条记录的 id?

4

2 回答 2

1

是的,如果它是正确的自动递增标识列

于 2009-07-28T17:26:57.630 回答
0

从本质上讲,每次插入都会按照增量的量进行自动增量。

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
于 2009-07-28T19:01:41.667 回答