Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come creare un'altra colonna dipendente dal vincolo predefinito nel server sql

Vuoi una colonna calcolata. Ad esempio:

CREATE TABLE tab1
(
 ID INT IDENTITY(1,1)
,[Type] VARCHAR(10)
,IsValued AS CASE [Type] WHEN 'S' THEN 1
                         WHEN 'R' THEN 0
             END
)

Puoi aggiungere a una tabella esistente utilizzando la seguente sintassi:

ALTER TABLE dbo.tab1 ADD IsValued AS CASE [Type] WHEN 'S' THEN 1
                                                 WHEN 'R' THEN 0
                                     END

Puoi rendere persistente la colonna aggiungendo la parola chiave PERSISTED dopo la creazione della colonna. La persistenza della colonna significa che il campo è archiviato su disco. Quando inserisci o aggiorni un record, il server SQL elaborerà il valore a quel punto. In caso contrario, SQL Server dovrà risolverlo ogni volta che accedi alla riga. Una buona spiegazione può essere trovata in SQL Server 2005 Computed La colonna è persistente

ALTER TABLE dbo.tab1 ADD IsValued AS CASE [Type] WHEN 'S' THEN 1
                                                 WHEN 'R' THEN 0
                                     END PERSISTED