[SQL SERVER]產生順序GUID
NEWSEQUENTIALID()只能搭配使用 uniqueidentifier 類型之資料表資料行的 DEFAULT 條件約束,
如需要回傳NEWSEQUENTIALID()可以使用下面方法
create proc usp_genguid
(
@id varchar(36) output
)
as
set nocount on
declare @mytable table (id uniqueidentifier default NEWSEQUENTIALID())
insert into @mytable values(default)
select @id=id from @mytable
select @id as [seqguid]
測試
declare @myguid varchar(36)
exec usp_genguid @myguid output
print @myguid
ps:每個使用 NEWSEQUENTIALID() 所產生的 GUID 在該電腦上都是唯一的。
參考