2018年3月25日日曜日

SQL Serverの計算列

SQL Serverでは、テーブル作成時にカラム名の後にasで計算式を書くことで計算結果をそのカラムに自動的に設定できる。
この計算列は、計算結果が格納されるのでINSERTやUPDATEに含めることはできない。

テーブル定義

create table test
(
  id   int not null
    primary key,
  num1 int,
  num2 int,
  num3 as [num1] + [num2]
)


insertの実行

計算列のnum3は含めずに登録を行う。
insert  into test (id, num1, num2) values (1, 1, 2)

結果の確認

num3には、num1とnum2を元に計算した結果が格納されているのがわかる。
1> select * from test
2> go
id          num1        num2        num3       
----------- ----------- ----------- -----------
          1           1           2           3

(1 rows affected)