Você quer uma coluna computada. Por exemplo:
CREATE TABLE tab1
(
ID INT IDENTITY(1,1)
,[Type] VARCHAR(10)
,IsValued AS CASE [Type] WHEN 'S' THEN 1
WHEN 'R' THEN 0
END
)
Você pode adicionar a uma tabela existente usando a seguinte sintaxe:
ALTER TABLE dbo.tab1 ADD IsValued AS CASE [Type] WHEN 'S' THEN 1
WHEN 'R' THEN 0
END
Você pode tornar a coluna persistente adicionando a palavra-chave
PERSISTED
após a criação da coluna. Persistindo a coluna significa que o campo está armazenado em disco. Quando você insere ou atualiza um registro, o SQL Server calcula o valor nesse ponto. Caso contrário, o SQL Server terá que resolver isso toda vez que você acessar a linha. Uma boa explicação pode ser encontrada em SQL Server 2005 Computed A coluna é persistente
ALTER TABLE dbo.tab1 ADD IsValued AS CASE [Type] WHEN 'S' THEN 1
WHEN 'R' THEN 0
END PERSISTED