sql >> Base de Datos >  >> RDS >> Sqlserver

Cómo crear otra columna dependiente de restricciones predeterminadas en el servidor sql

Quieres una columna calculada. Por ejemplo:

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

Puede agregar a una tabla existente usando la siguiente sintaxis:

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

Puede hacer que la columna persista agregando la palabra clave PERSISTED después de la creación de la columna. Mantener la columna significa que el campo se almacena en el disco. Cuando inserta o actualiza un registro, el servidor SQL calculará el valor en ese punto. Si no lo hace, SQL Server tendrá que resolverlo cada vez que acceda a la fila. Puede encontrar una buena explicación en SQL Server 2005 Computed La columna se conserva

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