2013-05-31 48 views
0

我與SQL Server的一個問題SQL Server的唯一序列ID ..如何生成與多個交易

我要的是生成唯一的ID爲每一個它是使用提交事務

前交易前交易

場景:

有10臺電腦當他們將打開他們的網絡瀏覽器,然後每個瀏覽器將顯示一系列唯一的ID在他們身上像comp 1將顯示101 comp 2將顯示102和comp 3將生成103 .. ..等等 !

我要處理這個數據庫到底你們可以幫我這個

在此先感謝,你們....

+1

那麼它是MySQL,Oracle還是SQL Server? –

回答

2

創建一個自動增量列的表。

當您需要另一個唯一的ID時 - 只需在該列中插入null並檢索最後一個插入ID。

對於Oracle - 創建一個序列,並使用SELECT sequence_name.nextval FROM DUAL`

對於SQL Server - 創建一個序列,並與NEXT VALUE FOR

+0

自動增量是一種錯誤的技術,因爲在中止事務後,序列將被打破。 – armen

+0

@armen:沒有「破碎的序列」這樣的東西。序列必須單調增長和獨特。而已。如果你想要別的東西 - 你根本不明白它是什麼。謝謝。 – zerkms

+0

1,2,3,4,5是一個序列,1,2,4,5是一個破碎的序列! – armen

1

取它在SQL Server生成我建議使用GUID真正獨一無二的ID,如:

DECLARE @UniqueID uniqueidentifier 
SET @UniqueID = NEWID() 
+0

問題是如何生成唯一的'sequence' id! – armen