計算列


同じテーブルの他の列を使用した結果を列として定義することができる
計算列の値は物理的には存在しないがインデックスを作成することはできる


使用例は以下の通り

CREATE TABLE [dbo].[M_商品](
	[商品コード] [char](10) NOT NULL,
	[適用年月日] [char](8)  NULL,
	[単価]       [int]      NULL,
	[数量]       [int]      NULL,
	[金額]       AS ([単価]*[数量]),
	[適用年月]   AS (LEFT([適用年月日],(6))),
 CONSTRAINT [PK_M_商品] PRIMARY KEY CLUSTERED 
(
	[商品コード] ASC
) ON [PRIMARY]
)

計算列で定義した列を編集することはできない
また、計算だけでなく関数の戻り値を計算列として定義することも可能



動作確認環境:SQLServer 2008 Express