建立新資料表。
附註: Microsoft Access 資料庫引擎不支援搭配非 Microsoft Access 資料庫引擎資料庫使用 CREATE TABLE 或任何 DDL 陳述式。 請改為使用 DAO Create 方法。
語法
CREATE [TEMPORARY] TABLE table (field1 type [(size)] [NOT NULL] [WITH COMPRESSION | WITH COMP] [index1] [, field2type [(size)] [NOT NULL] [index2] [, ...]] [, CONSTRAINT multifieldindex [, ...]])
CREATE TABLE 陳述式由下列各部分組成:
部分 |
描述 |
資料表 |
要建立之資料表的名稱。 |
field1, field2 |
要在新資料表中建立之一或多個欄位的名稱。 您必須建立至少一個欄位。 |
type |
新資料表中之欄位的資料類型。 |
size |
欄位大小,以字元為單位 (僅限 [文字] 和 [二進位] 欄位)。 |
index1, index2 |
定義單一欄位索引的 CONSTRAINT 子句。 |
multifieldindex |
定義多欄位索引的 CONSTRAINT 子句。 |
備註
使用 CREATE TABLE 陳述式定義新資料表及其欄位和欄位條件約束。 如果某個欄位已指定為 NOT NULL,則該欄位中的新記錄必須存在有效的資料。
CONSTRAINT 子句會在欄位上建立各種限制,而且可用來建立主索引鍵。 您也可以使用 CREATE INDEX 陳述式建立主索引鍵,或在現有資料表上建立其他索引。
您可以在單一欄位上,或在適用於名稱為 CONSTRAINT 之單一欄位或多欄位的具名 CONSTRAINT 子句內使用 NOT NULL。 不過,您只能將 NOT NULL 限制套用一次到某個欄位。 嘗試多次套用此限制會導致執行階段錯誤。
建立 TEMPORARY 資料表時,您只能在建立該資料表的工作階段內看到它。 工作階段終止時,該資料表會自動刪除。 暫存資料表可供多個使用者存取。
WITH COMPRESSION 屬性只能搭配 CHARACTER 和 MEMO (也稱為 TEXT) 資料類型及其同義字使用。
由於變更為 Unicode 字元表示格式,已為 CHARACTER 資料行新增 WITH COMPRESSION 屬性。 Unicode 字元對於每個字元一律需要 2 位元組。 針對絕大多數包含字元資料的現有 Microsoft Access 資料庫,這可能代表資料庫檔案轉換為 Microsoft Access 格式時,會變成將近兩倍的大小。 不過,許多字元集的 Unicode 表示法 (之前以單一位元組字元集 (SBCS) 的形式表示) 可輕鬆壓縮為單一位元組。 如果您使用此屬性定義 CHARACTER 資料行,資料會在儲存時自動壓縮,而且會在從資料行擷取時解壓縮。
您也可以定義 MEMO 資料行,將資料儲存為壓縮格式。 不過,這有限制。 只有壓縮時等於或小於 4096 位元組的 MEMO 資料行實例才會壓縮。 所有其他 MEMO 資料行實例將維持未壓縮。 也就是說,在指定的資料表內,針對指定的 MEMO 資料行,某些資料可能已壓縮,而某些資料可能未壓縮。