預設值

當您插入資料列時,如果未指定資料行的值,將由預設值指定資料行所用的值。預設值可以是求值結果為常數的任何值,例如常數、內建函數或數學運算式。

若要套用預設值,請在 CREATE TABLE 中使用 DEFAULT 關鍵字來建立預設值定義。這樣會指派常數運算式做為資料行的預設值。如需詳細資訊,請參閱<建立和修改 DEFAULT 定義>。

下列範例將建立一個使用不同類型之預設值運算式的資料表。它建立一個預設值物件,為一個資料行指派預設值,並將預設值物件與資料行繫結。然後它測試插入,而且對包含預設值的資料行不指定值,並且擷取測試列以確認的確套用了預設值。

USE AdventureWorks2008R2;
GO
CREATE TABLE test_defaults
   (keycol      smallint,
   process_id   smallint DEFAULT @@SPID,   --Preferred default definition
   date_ins   datetime DEFAULT getdate(),   --Preferred default definition
   mathcol      smallint DEFAULT 10 * 2,   --Preferred default definition
   char1      char(3),
   char2      char(3) DEFAULT 'xyz') --Preferred default definition;
GO
/* For illustration only, use DEFAULT definitions instead.*/
CREATE DEFAULT abc_const AS 'abc';
GO
sp_bindefault abc_const, 'test_defaults.char1';
GO
INSERT INTO test_defaults(keycol) VALUES (1);
GO
SELECT * FROM test_defaults;
GO

以下為結果集:

Default bound to column.

(1 row(s) affected)

keycol process_id date_ins                    mathcol char1 char2 
------ ---------- --------------------------- ------- ----- ----- 
1      7          Oct 16 1997  8:34PM         20      abc   xyz   

(1 row(s) affected)