Algunas veces se hace necesario realizar cálculos
complejos sobre la información que se encuentra almacenada en una tabla de una
base de datos, que si se realiza desde el aplicativo puede que tarde algún
tiempo, por lo tanto, se puede asignar este trabajo pesado al motor de la base
de datos.
A continuación, se muestra como se realiza desde el
motor.
Iniciamos con la creación de la tabla de la base de
datos:
CREATE
TABLE dbo.EmpleadosFact
(
EmpleadoId int IDENTITY (1,1) NOT NULL
, SalarioBasico money
, HorasExtras int
, Bonificacion money
, Salario_total AS SalarioBasico + (SalarioBasico/240)* HorasExtras
+ Bonificacion
, impuestos_salud as (SalarioBasico + (SalarioBasico/240)*
HorasExtras + Bonificacion) * 0.04
, impuestos_pension as (SalarioBasico + (SalarioBasico/240)*
HorasExtras + Bonificacion) * 0.05
);
Ahora vamos a realizar la inserción de un registro
para evaluar la formulas predefinidas.
INSERT INTO [dbo].[EmpleadosFact]
([SalarioBasico],[HorasExtras],[Bonificacion])
VALUES (6000000,10,430000.50);
([SalarioBasico],[HorasExtras],[Bonificacion])
VALUES (6000000,10,430000.50);
También cuando se realiza la actualización sobre uno
de los registros, se realizará el cálculo nuevamente, así:
Para mayor información:
Gracias hasta la próxima vez.