funciona
Código:
Lo que deberia hacer es crear un registro en la tabla planilla.create database practicas use practicas create table Empleado ( Codigo varchar (25) , Nombres varchar(25), Salario money, primary key(Codigo), Codigo_Departamento int not null, constraint fk_empleado_departamento foreign key(Codigo_Departamento) references Departamento (codigo_depto) ); create table Departamento ( codigo_depto int identity, Descripcion varchar(25), primary key(codigo_depto) ); create table Planillas ( Cod_Emp varchar(25), Cod_planilla varchar(25), Periodo int, Fecha varchar(25), Fecha_pago varchar(25), Horas_trabajadas int, Salario_devengado money, Descuento_ISSS money, Descuento_AFP money, Total_descuentos money, Salario_liquido money, Nombre_departamento varchar(25) primary key (Cod_planilla), constraint fk_planilla_empleado foreign key (Cod_Emp) references Empleado (Codigo) on update cascade ); SELECT * FROM Departamento insert into Departamento(Descripcion) values('Produccion'); insert into Departamento(Descripcion) values('Calidad'); insert into Departamento(Descripcion) values('Informatica'); insert into Departamento(Descripcion) values('Recursos Humanos'); insert into Departamento(Descripcion) values('Administracion'); insert into Empleado ( Codigo, Nombres, Salario, Codigo_Departamento ) values ( 'EM1', 'Nestor Beteta', 400, 4 ); insert into Empleado ( Codigo, Nombres, Salario, Codigo_Departamento ) values ( 'EM2', 'Carlos Garcia', 500, 5 ); insert into Empleado ( Codigo, Nombres, Salario, Codigo_Departamento ) values ( 'EM3', 'Gustavo López', 600, 3 ); select*from Empleado /*Leer los datos de la tabla EMPLEADOS con las columnas codigo, codigo,nombres, apellidos, salario y código departamento con Join a la tabla de DEPARTAMENTOS, de aquí leer el código_depto y Descripcion y luego crear un cursor que permita calcular la planilla quincenal de N empleados que existen.*/ --JOIN DE EMPLEADO A DEPARTAMENTO select E.Codigo, E.Nombres, E.Salario, E.Codigo_Departamento, D.Descripcion, D.codigo_depto from Empleado AS E inner join Departamento AS D ON E.Codigo_Departamento=D.codigo_depto where Codigo='EM3'; select*from Planillas declare mipla cursor for select Cod_Emp, Cod_planilla, Periodo,Fecha,Fecha_pago,Horas_trabajadas,Salario_devengado, Descuento_ISSS,Descuento_AFP,Total_descuentos,Salario_liquido,Nombre_departamento from Planillas open mipla declare @Cod_Emp as varchar(25) declare @Cod_planilla as varchar(25) declare @Periodo as int declare @fecha as datetime declare @fecha_pago varchar (25) declare @horas_trabajadas int declare @salario_devengado money declare @descuento_ISSS money declare @descuento_AFP money declare @total_descuentos money declare @salario_liquido money declare @nombre_departamento varchar(25) declare @salario money; declare @cod_Depart int declare @salario_hora money; declare @total_horas_trabajas_quincena int; fetch next from mipla into @Cod_Emp,@Cod_planilla,@Periodo,@fecha,@fecha_pago,@horas_trabajadas,@salario_devengado, @descuento_ISSS,@descuento_AFP,@total_descuentos,@salario_liquido,@nombre_departamento while @@fetch_status=0 begin SET @salario_hora=@salario/30/8 SET @total_horas_trabajas_quincena = 88 SET @Salario_Devengado= @salario_hora * @total_horas_trabajas_quincena SET @Descuento_isss= @salario_devengado*2.5/100 SET @Descuento_AFP= @salario_devengado*4.5/100 SET @total_Descuentos= @Descuento_ISSS+@Descuento_AFP SET @Salario_liquido=@Salario_Devengado-@total_Descuentos set @Cod_planilla='1-05-2012' set @fecha_pago='15/05/2012' insert into planillas ( Cod_Emp, Cod_planilla, Periodo,Fecha,Fecha_pago,Horas_trabajadas,Salario_devengado, Descuento_ISSS,Descuento_AFP,Total_descuentos,Salario_liquido,Nombre_departamento ) VALUES ( @Cod_Emp,@Cod_planilla,@Periodo,@fecha,@fecha_pago,@horas_trabajadas,@salario_devengado, @descuento_ISSS,@descuento_AFP,@total_descuentos,@salario_liquido,@nombre_departamento ); fetch next from mipla into @Cod_Emp,@Cod_planilla,@Periodo,@fecha,@fecha_pago,@horas_trabajadas,@salario_devengado, @descuento_ISSS,@descuento_AFP,@total_descuentos,@salario_liquido,@nombre_departamento end close mipla deallocate mipla select * from Planillas
Alguien que me ayude por favor.
Gracias.