2012-11-16 37 views
1

好日子存儲過程生成一個唯一的ID列

我有兩個用戶將數據保存到同一個數據庫,並有主鍵衝突的情況。

是否可以編寫一個存儲過程或觸發器,它將通過添加兩列來生成唯一標識。

例如:我有table2table1有關Table1ID。兩者的增量和種子都是1。

如果我不得不向table2添加一行,我想將自動生成的ID號添加到文本列中,從而使其唯一。所以ID就像JoeSoap5

+2

請顯示您的數據庫模式。你不會說你在這裏用作主鍵。 –

+2

爲什麼不使用'INT IDENTITY'並讓SQL Server處理所有其他血腥細節......這是迄今爲止**最簡單的解決方案 - 不要嘗試生成自己的唯一鍵 - 這太麻煩了,容易出錯.... –

回答

0

如果要生成獨特的內容,可以使用內置函數「NEWID()」。鍵入並執行以下代碼:

SELECT NEWID() 

如果你需要在你的第一個表記錄插入時在第二表中插入記錄,是可以實現這一點使用TRIGGERS。在你的情況下,你可以使用「AFTER INSERT TRIGGER」或「BEFORE INSERT TRIGGER」 - 通常這是一段代碼,將在插入第一個表後的第一行之後執行。