ms sql 主鍵自動生成32位guid

2022-03-22 10:18:36 字數 543 閱讀 7185

因同步資料業務需要,主鍵被設定為varchar(32),而自動生成的newid()是36位的,需要將中間的橫線去掉,才合適。為此寫如下標量函式:

create function get_32guid

(@id uniqueidentifier

)returns varchar(32)

asbegin

-- return the result of the function

return replace(convert(varchar(36), @id),'-','')

endgo

然後在表設計的時候,指定字段長度為varchar(32),設定為主鍵,預設值設定為:([dbo].[get_32guid](newid())),即可自動生成32位guid,如下圖所示:

IBatis 自動生成主鍵

insert id insertproduct oracle parameterclass product selectkey resultclass int type pre keyproperty id select stockidsequence.nextval as value from d...

ibatis主鍵自動生成

我們在資料庫插入一條資料的時候,經常是需要返回插入這條資料的主鍵。但是資料庫 商之間生成主鍵的方式都不一樣。有些是預先生成 pre generate 主鍵的,如oracle和postgresql 有些是事後生成 post generate 主鍵的,如mysql和sql server。但是不管是哪種方...

C 和sqlserver中生成新的32位GUID

c 和sqlserver中生成新的32位guid c 中用guid.newguid tostring sql中用newid 以上方法生成的是36位的guid,如果需要轉換成32位,則需要替換掉其中的 字元。sql中的方法 replace newid guid 全域性統一識別符號 是指在一台機器上生成...