Buscar..


Una columna se calcula a partir de una expresión

Una columna calculada se calcula a partir de una expresión que puede usar otras columnas en la misma tabla. La expresión puede ser un nombre de columna, una constante, una función y cualquier combinación de estos no conectados por uno o más operadores.

Crear tabla con una columna calculada.

Create table NetProfit
(
    SalaryToEmployee            int,    
    BonusDistributed            int,
    BusinessRunningCost         int,    
    BusinessMaintenanceCost     int,
    BusinessEarnings            int,
    BusinessNetIncome
                As BusinessEarnings - (SalaryToEmployee          + 
                                       BonusDistributed          + 
                                       BusinessRunningCost       +
                                       BusinessMaintenanceCost    )
                                           
)

El valor se calcula y almacena en la columna calculada automáticamente al insertar otros valores.

Insert Into NetProfit
    (SalaryToEmployee,
     BonusDistributed,
     BusinessRunningCost,
     BusinessMaintenanceCost,
     BusinessEarnings)
Values        
    (1000000,
     10000,
     1000000,
     50000,
     2500000)    

Ejemplo simple que usamos normalmente en tablas de registro

CREATE TABLE [dbo].[ProcessLog](
[LogId] [int] IDENTITY(1,1) NOT NULL,
[LogType] [varchar](20) NULL,
[StartTime] [datetime] NULL,
[EndTime] [datetime] NULL,
[RunMinutes]  AS (datediff(minute,coalesce([StartTime],getdate()),coalesce([EndTime],getdate())))

Esto da una diferencia de ejecución en minutos para el tiempo de ejecución que será muy útil.



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow