您目前已離線,請等候您的網際網路重新連線

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

重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。

按一下這裡查看此文章的英文版本: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 - 最後檢閱時間:12/05/2015 21:50:10 - 修訂: 1.2

Microsoft SQL Server 2000 Windows CE Edition

  • kbnosurvey kbarchive kbmt kbgrpdssqlce kbhowto kbsqlserv2000 KB274189 KbMtzh
意見反應