[SQL SERVER]產生順序GUID

[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

 

image

 

ps:每個使用 NEWSEQUENTIALID() 所產生的 GUID 在該電腦上都是唯一的。

 

 

參考

NEWSEQUENTIALID() (Transact-SQL)