none
¿Como hacer para que antes de eliminar un registro me lo inserte en otra tabla?

    Pregunta

  • Buenos días, Tardes o noches o depende de la hora en que estés leyendo este mensaje; Como dice la pregunta
    Yo quiero que antes de eliminar un registro me lo mande a otra tabla como si fuera una papelera de reciclaje estoy usando SQL Server 2008 y se que se tiene que hacer con un Trigger 
    primero hice el procedimiento para eliminar 
    luego intente hacer un trigger que se ejecute antes de eliminar (Before) pero el SQL me marca como error la palabra Before asi que use un After 

    pero tengo la duda de como hacer para que el registro que se vaya a eliminar lo mande a la tabla que le puse por nombre (HISTORIAl)

    create procedure eliminarinstrumento

      (@id varchar(25))
     as
     begin
     DELETE FROM Datos_Generales WHERE Id=@id
     end
     

    create trigger eliminar_E_insertar

    on Datos_Generales

     after delete
     as
     begin
     insert into Historial (Id, Descripcion, LocalizadoEn, AsignadoA, Marca, NoSerie, Tipo, Modelo, PeriodoCalibracion, UltimaCal, ProximaCal, InstructivoCal, Comentarios)
     values (select Descripcion, LocalizadoEn, AsignadoA, Marca, NoSerie, Tipo, Modelo, PeriodoCalibracion, UltimaCal, ProximaCal, InstructivoCal, Comentarios from Datos_Generales where Id=@id)

     end;

    No se si se entienda lo que quiero dar a entender espero y me puedan ayudar, no es un proyecto de escuela si no un proyecto para a una empresa pequeña.

    

    lunes, 10 de febrero de 2014 19:57

Respuestas

Todas las respuestas