Cómo usar la columna calculada de SQL Server

Cómo usar la columna calculada de SQL Server
Una columna calculada es una columna virtual cuyo valor es el resultado de una expresión principalmente utilizando otros datos almacenados en otras columnas. Una columna calculada es una columna virtual que significa que SQL Server no la almacena físicamente en una tabla. En cambio, el valor de una columna calculada se calcula cuando se consultan los datos. Sin embargo, puede almacenarlo físicamente especificando el parámetro persistido.

Esta guía le dará lo esencial de crear y usar columnas calculadas en SQL Server.

Antes de sumergirnos en un ejemplo práctico y usar columnas calculadas, hay algunos puntos clave a tener en cuenta.

  1. Una columna calculada no puede contener las restricciones predeterminadas, no nulas o de clave extranjera a menos que la columna esté configurada en persistida.
  2. No puede usar una columna calculada en una declaración de inserción o actualización.

Uso de la columna calculada del servidor SQL

Para comprender mejor cómo usar las columnas calculadas de SQL Server, usaremos un ejemplo práctico.

Comience por crear un datos de muestra como se muestra en las consultas a continuación:

Crear base de datos sales_database;
Usar sales_database;
Crear ventas de mesa (
ID int identidad (1,1) no es una clave primaria nula,
Product_Name Varchar (50),
precio de dinero,
cantidad int
);
Insertar en ventas (producto, nombre, precio, cantidad)
Valores ('cargador de iPhone', $ 9.99, 10),
('Google Chromecast', $ 59.25, 5),
('Controlador inalámbrico de PlayStation Dualsense', $ 69.00, 100),
('Xbox Series S', $ 322.00, 3),
('Oculus Quest 2', $ 299.50, 7),
('Netgear Nighthawk', $ 236.30, 40),
('Redragon S101', $ 35.98, 100),
('Figura de acción de Star Wars', $ 17.50, 10),
('Mario Kart 8 Deluxe', $ 57.00, 5);

Una vez que tenemos los datos de la muestra, podemos continuar.

Crear columna calculada: T-SQL

Crear una columna calculada en SQL Server es sencillo. Use el comando Crear tabla o alterar tabla para agregar una columna calculada.

Por ejemplo, podemos crear una columna calculada que calcule el precio total de los artículos en función del precio y la cantidad.

Considere el ejemplo que se muestra a continuación:

Alterar las ventas de la mesa
Agregue Total_Price como precio * Cantidad;

La consulta anterior crea una nueva columna basada en el valor del precio * columnas de cantidad. Podemos consultar la nueva mesa como:

Seleccionar * de las ventas;

La tabla resultante es como se muestra:

Observe que el valor de la columna Total_Price se basa en los valores de las columnas de precio y cantidad.

Una vez que actualizamos los valores en cualquier columna, el valor en la columna calculada refleja los cambios como se muestra:

Actualizar la cantidad del conjunto de ventas = 200
Donde id = 3;

La consulta anterior actualiza la cantidad de la fila número 3 a 200.

Si consultamos nuevamente los datos, deberíamos ver el Total_Price actualizado para reflejar los cambios como:

Seleccionar * de las ventas;

Para crear un calculado durante la creación de la tabla, podemos especificar la columna utilizando la palabra clave AS seguida de la fórmula para usar para calcular el conjunto resultante.

Ventas de mesa de caída;
-- Recrear tabla y volver a insertar los datos de muestra con una nueva columna calculada
Crear ventas de mesa (
ID int identidad (1,1) no es una clave primaria nula,
Product_Name Varchar (50),
precio de dinero,
cantidad int,
Total_price como precio * Cantidad
);

Esto recreará la tabla con la nueva columna calculada.

Crear columna calculada: SSMS

También puede crear una columna calculada utilizando el SQL Server Management Studio. En Object Explorer, Right Expande su base de datos de destino -> Tablas -> Columnas -> Nueva columna.

Ingrese el nombre de la columna y el tipo de datos aceptado.

Expandir la pestaña Propiedades de la columna y seleccionar especificaciones de columna calculadas. Establezca la fórmula para la columna como se muestra:

Para aplicar los cambios, seleccione la barra de herramientas principal y haga clic en el icono Guardar:

Columnas calculadas persistidas

Si desea almacenar físicamente los valores de una columna calculada, puede agregar la propiedad persistida durante la creación de columnas.

Por ejemplo, la consulta a continuación agrega una columna calculada persistida para calcular el impuesto de los productos.

Alterar las ventas de la tabla Agregar impuestos como (1.6 * Cantidad * Precio) persistió;

La tabla resultante es como se muestra:

Nota, no puede usar el valor de otra columna calculada en una columna calculada. Por ejemplo, si intenta establecer el valor de la columna de impuestos como 1.6 * Total_Price, SQL Server devolverá un error.

Mostrar columnas calculadas: T-SQL

Para mostrar columnas calculadas dentro de una base de datos específica, use la consulta como se muestra a continuación:

Seleccionar * de SYS.Computed_Columns;

La consulta debe devolver los detalles de las columnas calculadas dentro de la base de datos seleccionada.

Conclusión

En este artículo, entendió cómo crear y usar columnas calculadas en SQL Server. Consulte la documentación para obtener más información.