Или даже лучше: используйте newsequentialid()
в качестве значения по умолчанию для вашего столбца UNIQUEIDENITIFER. Это даст вам несколько последовательных серий GUID.
CREATE TABLE dbo.YourTable
(SerialID UNIQUEIDENTIFIER
CONSTRAINT DF_SerialID DEFAULT newsequentialid(),
.... (other columns)......
)
Проблема в том, что newsequentialid only доступен по умолчанию для столбца - вы не можете вызывать его как функцию или что-либо еще. Но это, кажется, соответствует вашим требованиям.
ОБНОВЛЕНИЕ: в SQL Server Management Studio, как представляется, существует подтвержденная ошибка, которая не позволяет указать newsequentialid()
в качестве значения по умолчанию для столбца в конструкторе интерактивных таблиц.
См .: http://social.msdn.microsoft.com/Forums/en-US/sqltools/thread/cad8a4d7-714f-44a2-adb0-569655ac66e6
Обходной путь: создайте свою таблицу, не задавая никаких значений по умолчанию, а затем введите этот оператор T-SQL в обычном окне запроса и запустите его:
ALTER TABLE dbo.YourTable
ADD CONSTRAINT DF_SerialID DEFAULT newsequentialid() FOR SerialID
Это должно сработать!