Potrzebujesz kolumny wyliczanej. Na przykład:
CREATE TABLE tab1
(
ID INT IDENTITY(1,1)
,[Type] VARCHAR(10)
,IsValued AS CASE [Type] WHEN 'S' THEN 1
WHEN 'R' THEN 0
END
)
Możesz dodać do istniejącej tabeli, używając następującej składni:
ALTER TABLE dbo.tab1 ADD IsValued AS CASE [Type] WHEN 'S' THEN 1
WHEN 'R' THEN 0
END
Możesz utrwalić kolumnę, dodając słowo kluczowe PERSISTED
po utworzeniu kolumny. Utrzymanie kolumny oznacza, że pole jest przechowywane na dysku. Po wstawieniu lub zaktualizowaniu rekordu serwer SQL obliczy w tym momencie wartość. Jeśli tego nie zrobisz, SQL Server będzie musiał to rozpracować za każdym razem, gdy uzyskasz dostęp do wiersza. Dobre wyjaśnienie można znaleźć na SQL Server 2005 Computed Kolumna jest utrwalona
ALTER TABLE dbo.tab1 ADD IsValued AS CASE [Type] WHEN 'S' THEN 1
WHEN 'R' THEN 0
END PERSISTED