funcion update sql
Publicado por rayote (1 intervención) el 13/03/2002 06:57:02
buenos dias, tengo un trigger en una tabla que se encarga de gestionarme una tabla de historicos.
tan solo se han de insertar registros en el histórico, cuando alguno de los campos de la tabla se haya modificado, si no, no ha de insertar el historico, mi problema es con el siguiente codigo:
create trigger tr_update_poliza on pol_polizas_colectivas
after insert, update as
if update ([COD_COMPANIA]) or update([COD_RAMO]) or update([ID_CESTA]) or update([ID_TOMADOR]) or update ([ID_AGENTE]) or update([ID_SUBAGENTE])
declare @Max_Id_Hist as int
select @Max_Id_Hist=isnull(max(id_historico),0) from his_pol_polizas_colectivos
insert into his_pol_polizas_colectivos
select @Max_Id_Hist+1, [ID_POLIZA], [COD_COMPANIA], [COD_RAMO], [ID_CESTA], [ID_TOMADOR], [ID_AGENTE], [ID_SUBAGENTE], [ID_SUBSUBAGENTE], GetDate() from inserted
mi problema es que actualizando un registro de la tabla dos veces con los mismos valores en todos los campos, siempre de inserta el registro en el historico....
alguien me puede ayudar
mil gracias
tan solo se han de insertar registros en el histórico, cuando alguno de los campos de la tabla se haya modificado, si no, no ha de insertar el historico, mi problema es con el siguiente codigo:
create trigger tr_update_poliza on pol_polizas_colectivas
after insert, update as
if update ([COD_COMPANIA]) or update([COD_RAMO]) or update([ID_CESTA]) or update([ID_TOMADOR]) or update ([ID_AGENTE]) or update([ID_SUBAGENTE])
declare @Max_Id_Hist as int
select @Max_Id_Hist=isnull(max(id_historico),0) from his_pol_polizas_colectivos
insert into his_pol_polizas_colectivos
select @Max_Id_Hist+1, [ID_POLIZA], [COD_COMPANIA], [COD_RAMO], [ID_CESTA], [ID_TOMADOR], [ID_AGENTE], [ID_SUBAGENTE], [ID_SUBSUBAGENTE], GetDate() from inserted
mi problema es que actualizando un registro de la tabla dos veces con los mismos valores en todos los campos, siempre de inserta el registro en el historico....
alguien me puede ayudar
mil gracias
Valora esta pregunta


0