Sie möchten eine berechnete Spalte. Zum Beispiel:
CREATE TABLE tab1
(
ID INT IDENTITY(1,1)
,[Type] VARCHAR(10)
,IsValued AS CASE [Type] WHEN 'S' THEN 1
WHEN 'R' THEN 0
END
)
Sie können mit der folgenden Syntax zu einer vorhandenen Tabelle hinzufügen:
ALTER TABLE dbo.tab1 ADD IsValued AS CASE [Type] WHEN 'S' THEN 1
WHEN 'R' THEN 0
END
Sie können die Spalte persistent machen, indem Sie das Schlüsselwort PERSISTED
hinzufügen nach der Spaltenerstellung. Das Beibehalten der Spalte bedeutet, dass das Feld auf der Festplatte gespeichert wird. Wenn Sie einen Datensatz einfügen oder aktualisieren, berechnet der SQL-Server den Wert an diesem Punkt. Wenn Sie dies nicht tun, muss SQL Server dies jedes Mal herausfinden, wenn Sie auf die Zeile zugreifen. Eine gute Erklärung finden Sie unter SQL Server 2005 Computed Spalte wird beibehalten
ALTER TABLE dbo.tab1 ADD IsValued AS CASE [Type] WHEN 'S' THEN 1
WHEN 'R' THEN 0
END PERSISTED