Vous voulez une colonne calculée. Par exemple :
CREATE TABLE tab1
(
ID INT IDENTITY(1,1)
,[Type] VARCHAR(10)
,IsValued AS CASE [Type] WHEN 'S' THEN 1
WHEN 'R' THEN 0
END
)
Vous pouvez ajouter à une table existante en utilisant la syntaxe suivante :
ALTER TABLE dbo.tab1 ADD IsValued AS CASE [Type] WHEN 'S' THEN 1
WHEN 'R' THEN 0
END
Vous pouvez rendre la colonne persistante en ajoutant le mot-clé PERSISTED
après la création de la colonne. La persistance de la colonne signifie que le champ est stocké sur le disque. Lorsque vous insérez ou mettez à jour un enregistrement, le serveur SQL calcule la valeur à ce stade. Si vous ne le faites pas, SQL Server devra le résoudre chaque fois que vous accéderez à la ligne. Une bonne explication peut être trouvée sur SQL Server 2005 Computed La colonne est persistante
ALTER TABLE dbo.tab1 ADD IsValued AS CASE [Type] WHEN 'S' THEN 1
WHEN 'R' THEN 0
END PERSISTED