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:

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














Respuesta Responder a este mensaje
#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:
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:

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














Respuesta Responder a este mensaje
#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:

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:
> 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:
>
>> 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
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>



Respuesta Responder a este mensaje
#4 julio Ramos
30/05/2006 - 19:30 | Informe spam
Muchas gracias Alejandro.
"Alejandro Mesa" wrote in message
news:
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:

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:
> 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:
>
>> 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
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida