摘自幫助:
uniqueidentifier
全局唯一標識符(GUID)。
注釋
uniqueidentifier數據類型的列或局部變量可用兩種方法初始化為一個值:
使用NEWID函數。
將字符串常量轉換為如下形式(xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx,其中每個x是0-9或a-f范圍內的一個十六進制的數字)。例如,6F9619FF-8B86-D011-B42D-00C04FC964FF即為有效的uniqueidentifier值。
比較運算符可與uniqueidentifier值一起使用。然而,排列并非通過比較兩個值的位模式來實現。允許對uniqueidentifier值執行的操作只有比較(=,<>,,<=,>=)和檢查NULL(ISNULL和ISNOTNULL)。不允許使用其它算術運算符。所有的列約束及屬性(IDENTITY除外)均允許用于uniqueidentifier數據類型。
使用uniqueidentifier數據
uniqueidentifier數據類型存儲16字節的二進制值,該值的使用與全局唯一標識符(GUID)一樣。GUID是一個唯一的二進制數字;世界上的任何兩臺計算機都不會生成重復的GUID值。GUID主要用于在擁有多個節點、多臺計算機的網絡中,分配必須具有唯一性的標識符。
uniqueidentifier列的GUID值通常由以下方式獲得:
在Transact-SQL語句、批處理或腳本中調用NEWID函數。
在應用程序代碼中,調用返回GUID值的應用程序API函數或方法。
Transact-SQLNEWID函數以及應用程序API函數和方法從它們網卡上的標識數字以及CPU時鐘的唯一數字生成新的uniqueidentifier值。每個網卡都有唯一的標識號。由NEWID返回的uniqueidentifier使用服務器上的網卡生成。由應用程序API函數和方法返回的uniqueidentifier使用客戶機上的網卡生成。
一般不將uniqueidentifier定義為常量,因為很難保證實際創建的uniqueidentifier具有唯一性。指定uniqueidentifier常量的方法有兩種:
字符串格式
‘6F9619FF-8B86-D011-B42D-00C04FC964FF’
二進制格式
0xff19966f868b11d0b42d00c04fc964ff
uniqueidentifier數據類型不象IDENTITY屬性那樣為新插入的行自動生成新的ID。為了得到新的uniqueidentifier值,表必須具有一個指定NEWID函數的DEFAULT子句,或使用NEWID函數的INSERT語句:
CREATETABLEMyUniqueTable
(UniqueColumnUNIQUEIDENTIFIERDEFAULTNEWID(),
CharactersVARCHAR(10))
GO
INSERTINTOMyUniqueTable(Characters)VALUES(‘abc’)
INSERTINTOMyUniqueTableVALUES(NEWID(),‘def’)
GO
uniqueidentifier列可以包含多次出現的uniqueidentifier值,除非也對此列指定了UNIQUE或PRIMARYKEY約束。當有多行引用源表中的同一主鍵時,引用其它表的uniqueidentifier主鍵的外鍵列將包含多次出現的個別uniqueidentifier值。
一個表可以有多個uniqueidentifier列。每個表中可以指定一個具有ROWGUIDCOL屬性的uniqueidentifier列。ROWGUIDCOL屬性表明此列的uniqueidentifier值唯一地標識表中的行。但是,該屬性并沒有執行該唯一性。唯一性必須通過其它機制來執行,比如為列指定PRIMARYKEY約束。ROWGUIDCOL屬性主要用于SQLServer復制。
uniqueidentifier數據類型的主要優點是保證由Transact-SQLNEWID函數或應用程序GUID函數生成的值在全球是唯一的。
uniqueidentifier數據類型的具有幾個缺點:
值長且難懂。這使用戶難以正確鍵入它們,并且更難記住。
這些值是隨機的,而且它們不能接受任何使它們對用戶變得更有意義的模式。
沒有任何方式可以決定生成uniqueidentifier值的順序。它們不適用于那些依賴遞增的鍵值的現有應用程序。
uniqueidentifier數據類型具有16個字節,與其它那些諸如4字節的整數相比要相對大一些。這意味著使用uniqueidentifier鍵建立的索引可能會比使用int鍵實現的索引相對慢一些。
如果全局唯一性并不是必須的,或者需要一個連續遞增的鍵,則可以考慮使用IDENTITY屬性。
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
網絡推廣與網站優化公司(網絡優化與推廣專家)作為數字營銷領域的核心服務提供方,其價值在于通過技術手段與策略規劃幫助企業提升線上曝光度、用戶轉化率及品牌影響力。這...
在當今數字化時代,公司網站已成為企業展示形象、傳遞信息和開展業務的重要平臺。然而,對于許多公司來說,網站建設的價格是一個關鍵考量因素。本文將圍繞“公司網站建設價...
在當今的數字化時代,企業網站已成為企業展示形象、吸引客戶和開展業務的重要平臺。然而,對于許多中小企業來說,高昂的網站建設費用可能會成為其發展的瓶頸。幸運的是,隨...
表格插入圖片不能浮于文字下方?在Excel中,您可以 不要把圖片放在文字的底部,只能用插入-背景的方法。如下所示:1.打開EXCexcel中文本標注框怎么翻轉?Excel單元格中的文字是反轉的,可以通過使用文本框,旋轉180度來實現。具體步驟如下:1.打開要操作的EXCEL表格,在插入工具欄中找到,點擊 "文本框和。2.在表格中畫一個大小合適的文本框,輸入需要反轉的文本內容,然后點擊文本框上方的綠...
baseball有多少成員?一個隊至少要有九個人。他們是投手、捕手、一壘手、二壘手、三壘手、游擊手、左外野手、中外野手和右外野手。韓國明星棒球隊是什么?有哪些棒球明星球員?名為Play Boys的韓國明星棒球隊由包括張東健、金承佑、黃政民、朱鎮模、池珍熙、孔炯一、宋哲仁、玄彬、鄭宇成和孔鋼在內的30多名藝術家組成。其中,張東健和鄭宇成為總經理,孔炯為隊長,金承佑為總裁。大家也約定十年不退隊。在棒球...
ipadmini怎么越獄升級ios10?IPad mini越獄升級iOS10方法:IOS 10越獄方法介紹:1.將iPad設備連接到PP助手,點擊【一鍵越獄】按鈕。2.點擊彈出窗口中的【安裝越獄助手】按鈕。3.輸入驗證碼后安裝。 10越獄助手安裝成功后,請點擊【下一步】繼續操作。5.請根據教程完成設置-常規-配置文件和設備管理中的應用程序信任設置。6.打開【越獄助手】APP。7.點擊【立即越獄】,...