86 - Campos calculados |
Trabajamos con la tablas "empleados".
Eliminamos la tabla, si existe, y la creamos:
if object_id('empleados') is not null drop table empleados; create table empleados( documento char(8), nombre varchar(10), domicilio varchar(30), sueldobasico decimal(6,2), hijos tinyint not null default 0, sueldototal as sueldobasico + (hijos*100) );
El campo "sueldototal" es un campo calculado que suma al sueldo básico de cada empleado y la cantidad abonada por los hijos (100 por cada hijo).
No puede ingresarse valor para dicho campo:
insert into empleados values('22222222','Juan Perez','Colon 123',300,2); insert into empleados values('23333333','Ana Lopez','Sucre 234',500,0);
Veamos los registros:
select *from empleados;
Veamos lo que sucede si actualizamos un registro:
update empleados set hijos=1 where documento='23333333'; select *from empleados;
Recuperamos los registros:
select *from empleados;
el campo calculado "sueldototal" recalcula los valores para cada registro automáticamente.
Agregamos un campo calculado:
alter table empleados add salariofamiliar as hijos*100;
Veamos la estructura de la tabla:
sp_columns empleados;
Recuperemos los registros:
select *from empleados;