7.1.1 欄位屬性
- NULL / NOT NULL:指定是否允許省略該欄值。預設為 NOT NULL。可透過
set ansi_null_dflt_on/off 或 sp_dboption database_name, 'ANSI null default', true/false 設定。
- IDENTITY:系統自動產生唯一數字識別每列。適用 INT、SMALLINT、TINYINT、DECIMAL(P,0)、NUMERIC(P,0)。可指定種子與遞增值(預設 1,1)。注意:不可同時擁有 NULL 與 IDENTITY 屬性。
7.1.2 CREATE TABLE 語法
CREATE TABLE [database_name.[owner].|owner.] table_name
( { | column_name AS computed_column_expression} [,...n] )
[ON {filegroup | DEFAULT}]
[TEXTIMAGE_ON {filegroup | DEFAULT}]
::= { column_name data_type }
[ [ DEFAULT constant_expression ]
| [ IDENTITY [(seed, increment) [NOT FOR REPLICATION]] ] ]
[ ROWGUIDCOL ]
[ COLLATE ]
[ ] [...n]
關鍵參數
- database_name / owner / table_name:指定資料庫、擁有者、表名(最長 128 字元,database.owner.object 唯一)。
- column_name:欄位名稱。
- computed_column_expression:計算欄位運算式(虛擬欄,不實際儲存,由同表其他欄計算得出)。
- data_type:資料類型。
- DEFAULT / IDENTITY / ROWGUIDCOL / COLLATE / CONSTRAINT:欄位屬性與約束定義。