次の方法で共有


既定値

デフォルトは、行を挿入するときに列の値を指定しなかった場合に、その列で使用する値を指定します。定数、組み込み関数、または数式など、評価の結果が定数になるものであれば、デフォルトとして定義できます。

デフォルトを適用するには、CREATE TABLE で DEFAULT キーワードを使用してデフォルトの定義を作成します。この定義により、列にはデフォルトとして定数式が割り当てられます。詳細については、「DEFAULT 定義の作成と変更」を参照してください。

次の例では、さまざまな種類のデフォルトの式を使用するテーブルを作成します。ここでは 1 つの列にデフォルトを割り当てるデフォルト オブジェクトを作成し、そのデフォルト オブジェクトを列にバインドします。次に、デフォルトが定義された列に対して、値を指定せずに行のテスト挿入を行い、そのテスト行を取得してデフォルトが適用されたかどうかを確認します。

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)

関連項目

参照

概念