2009-07-28 59 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