2009-07-28 60 views
0

如果下一个是正确的: 有SQL字符串与多个插件(使用存储过程):依赖于多个身份之后SQL列值插入

“EXEC SPInsertData ... EXEC SPInsertData ... EXEC SPInsertData ...“

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

E.g.在执行给定的SQL字符串后,第一条记录的id小于第二条记录的id,并且它的id小于第三条记录的id?

回答

1

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

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