預設值
當您插入資料列時,如果未指定資料行的值,將由預設值指定資料行所用的值。預設值可以是求值結果為常數的任何值,例如常數、內建函數或數學運算式。
若要套用預設值,請在 CREATE TABLE 中使用 DEFAULT 關鍵字來建立預設值定義。這樣會指派常數運算式做為資料行的預設值。如需詳細資訊,請參閱<建立和修改 DEFAULT 定義>。
下列範例將建立一個使用不同類型之預設值運算式的資料表。它建立一個預設值物件,為一個資料行指派預設值,並將預設值物件與資料行繫結。然後它測試插入,而且對包含預設值的資料行不指定值,並且擷取測試列以確認的確套用了預設值。
USE AdventureWorks;
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)