Campos calculados en SQL Server

Los campos calculados son columnas virtuales de una tabla que su valor es calculado por una expresión de T-SQL que utiliza otras columnas de la misma tabla.

Los campos calculados se crean dentro de la sintaxis CREATE TABLE ó ALTER TABLE.

 

 

CREATE TABLE Operacion(
ValorA int
,ValorB int
,SumaAB as (ValorA + ValorB)
)

ALTER TABLE Operacion

ADD MultAB as (ValorA*ValorB)

 

 

Estos campos no se almacenan físicamente en una tabla a menos que se le indique como PERSISTED. De esta forma los valores son almacenados físicamente en la tabla y se actualizan en el momento que las columnas que utiliza son actualizadas.

Ejemplo
--Crear tabla, usando el campo calculado "Resultado"
CREATE
TABLECalculadora(
A INT,
B INT,
Operador CHAR,
Resultado AS CASE Operador
WHEN '+' THEN A + B
WHEN '-' THEN A - B
ELSE A * B
END
PERSISTED
) ;
--Insertar datos, el campo calculado nunca es insertado
INSERT INTO Calculadora VALUES(1,2,'+')
INSERT INTO Calculadora VALUES(5,3,'-')
INSERT INTO Calculadora VALUES(4,4,'')
--Revisamos los resultados
SELECT * FROM Calculadora
--Podemos modificar los registros, el campo se recalcula
UPDATE Calculadora SET A = 2 WHERE A =1
--Revisamos nuevamente
SELECT * FROM Calculadora

Notas relacionadas :

You can leave a response, or trackback from your own site.

Deje una respuesta

Webdesign