計算列が必要です。例:
CREATE TABLE tab1
(
ID INT IDENTITY(1,1)
,[Type] VARCHAR(10)
,IsValued AS CASE [Type] WHEN 'S' THEN 1
WHEN 'R' THEN 0
END
)
次の構文を使用して既存のテーブルに追加できます:
ALTER TABLE dbo.tab1 ADD IsValued AS CASE [Type] WHEN 'S' THEN 1
WHEN 'R' THEN 0
END
キーワード PERSISTED
を追加することで、列を永続化できます コラム作成後。列を永続化するということは、フィールドがディスクに格納されることを意味します。レコードを挿入または更新すると、SQL サーバーはその時点で値を計算します。そうしないと、行にアクセスするたびに SQL Server が解決する必要があります。 SQL Server 2005 Computed で適切な説明を見つけることができます。列は維持されます
ALTER TABLE dbo.tab1 ADD IsValued AS CASE [Type] WHEN 'S' THEN 1
WHEN 'R' THEN 0
END PERSISTED