Trigger

30/05/2006 - 14:40 por julio Ramos | Informe spam
Hola Grupo

Tengo una tabla sueldo
SueldoID
Codigo = "Codigo del empleado"
Fecha
Sueldo_Quincenal

Tabla Aumento_Sueldo
AumentoID
Codigo = "Codigo del empleado"
Sueldo_Nomina_Anterior
Sueldo_Nomina_Actual
Fecha


Necesito crear un Trigger para que cuando se realice un insert en la tabla
sueldo

me copie en la tabla Aumento_Sueldo los campos que aparecen en esa tabla



El campo que dice sueldo_nomina_anterior es el sueldo que tiene antes que se
realice el insert en la tabla Sueldo

El campo que dice Sueldo_nomina_actual es el campo que tiene la ta inserted
cuando se dispara el trigger.



La idea es registrar los aumentos que se realizan por empleados en una tabla
diferente o en su defecto crear una vista que vea siempre el sueldo anterior
con el actual

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
30/05/2006 - 15:16 | Informe spam
Trata:

insert into Aumento_Sueldo (
Codigo,
Sueldo_Nomina_Anterior,
Sueldo_Nomina_Actual,
Fecha
)
select
i.codigo,
s.Sueldo_Quincenal,
i.Sueldo_Quincenal,
i.fecha
from
inserted as i
left outer join
sueldo as s
on s.fecha = (
select max(a.fecha)
from sueldo as a
where a.codigo = i.codigo and a.fecha < i.fecha
)


AMB

"julio Ramos" wrote:

Mostrar la cita
#2 julio Ramos
30/05/2006 - 16:35 | Informe spam
Gracias Alejandro por responder
Te voy a pasar las tabla tal como la tengo ya que en el ejemplo anterior
quise simplificar los campos y me falto decir que solo se copiara cuando
halla aumento de sueldo

La idea es que cuando se realice un insert en la tabla volante_pago y exista
algun codigo en que el sueldo_nomina sea mayor para esa quincena lo registre
en la tabla registro_aumento


Tabla Volante_pago "Tabla original para registrar la nomina"
Codigo
Fecha
Sueldo_nomina

Tabla Registro_aumento " Para registrar los aumentos"
Codigo_empleado
Sueldo_Nomina_Anterior,
Sueldo_Nomina_Actual,
Fecha_vigencia_aumento

Nota:

Registro_aumento.Fecha_vigencia_aumento = Volante_pago.Fecha




















"Alejandro Mesa" wrote in message
news:
Mostrar la cita
#3 Alejandro Mesa
30/05/2006 - 19:10 | Informe spam
Julio,

insert into Aumento_Sueldo (
Codigo,
Sueldo_Nomina_Anterior,
Sueldo_Nomina_Actual,
Fecha
)
select
i.codigo,
s.Sueldo_Quincenal,
i.Sueldo_Quincenal,
i.fecha
from
inserted as i
left outer join
sueldo as s
on s.fecha = (
select max(a.fecha)
from sueldo as a
where a.codigo = i.codigo and a.fecha < i.fecha
)
where i.Sueldo_Quincenal > s.Sueldo_Quincenal


AMB


"julio Ramos" wrote:

Mostrar la cita
#4 julio Ramos
30/05/2006 - 19:30 | Informe spam
Muchas gracias Alejandro.
"Alejandro Mesa" wrote in message
news:
Mostrar la cita
Ads by Google
Search Busqueda sugerida