HOWTO: 在 SQL Server CE 中插入新值至 uniqueidentifier 資料行

文章翻譯 文章翻譯
文章編號: 274189 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

結論

SQL Server 2000 Windows CE 版支援 uniqueidentifier 資料型別。預設情況下,SQL Server NEWID 函式是不在 SQL Server CE 中用來產生 uniqueidentifier 資料行的唯一值。不過,ROWGUIDCOL 屬性資料行已被多載來指示應產生預設值。這種行為是特定 SQL Server 2000 Windows CE 版。

其他相關資訊

應用程式,具有 uniqueidentifier 資料行,SQL Server CE 資料庫中建立新的資料表或該訂閱發行集從 SQL Server 2000 (有 uniqueidentifier 資料行) 下載複本資料表可能需要將新列新增到該資料表。

不過,使用 SQL Server CE,您可以仍然建立資料表 uniqueidentifier 資料行,然後使用下列因應措施來插入資料:

  • INSERT 主題的 SQL Server CE 線上叢書 》 所述,手動插入 INSERT] 陳述式中已格式化的 16 位元組二進位值:
    使用 uniqueidentifier 資料型別所建立的資料行儲存特殊格式的 16 位元組二進位值。插入作業期間 uniqueidentifier 和字串常數中之表單 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx (包括連字其中 x 是在範圍 0-9 的十六進位數字或 a-f 的 36 個字元) 的一個資料型別的變數可用於 uniqueidentifier 資料行。比方說 6F9619FF-8B86-D011-B42D-00C04FC964FF 是有效的值,uniqueidentifier 變數或資料行。
  • ROWGUIDCOL 屬性為 uniqueidentifier 欄已被多載來指示應產生預設值。

    以下是示範它的運作方式的範例程式碼:
    
     Create table test1(col1 int, col2 uniqueidentifier rowguidcol)
    
     Insert into test1 (col1) values (1)
    
     Select * from test1
    					

    使用遠端資料存取 (RDA) 或複寫,如果在伺服器上的資料表有 ROWGUIDCOL 屬性為資料行設定 ON,然後在與 SQL Server CE 上可以設定資料行 [ROWGUIDCOL 屬性和 SQL Server CE 會建立 INSERT 陳述式的 GUID 值。

    這項因應措施只適用於目前版本的 SQL Server CE,且不與 SQL Server 的向前相容。在 SQL Server 2000 上 ROWGUIDCOL 屬性不會自動產生插入資料表的新資料列的值。這項因應措施可能不適用在未來發行版本。而且,資料表只能有一個 ROWGUIDCOL 資料行。

    ROWGUIDCOL 屬性不會強制使用的資料行中儲存值的唯一性。因此,很可能手動插入相同格式化的 16 位元組二進位值至 uniqueidentifier 資料行超過一次。 如果需要強制實施唯一性請在該資料行上建立唯一的索引。

屬性

文章編號: 274189 - 上次校閱: 2004年7月12日 - 版次: 1.2
這篇文章中的資訊適用於:
  • Microsoft SQL Server 2000 Windows CE Edition
關鍵字:?
kbmt kbgrpdssqlce kbhowto kbsqlserv2000 KB274189 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:274189
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。
依現狀不再更新的知識庫內容免責聲明
本文旨在說明 Microsoft 不再提供支援的產品。因此,本文係依「現狀」提供,不會再更新。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com