SQL Server - Trigger para actualizar la misma tabla

 
Vista:
sin imagen de perfil

Trigger para actualizar la misma tabla

Publicado por Alonso (2 intervenciones) el 11/10/2016 23:14:01
Hola

solicito su ayuda para crear un trigger que cuando el campo tipo_licencia de la tabla licencias se actualice, se cree un nuevo registro en esa misma tabla y se asigne el nuevo valor al campo tipo_licencia y el registro anterior quede con un estado anulado sin modificarse su valor

esto porque deseo llevar el histórico de actualizaciones dentro de la misma tabla.

he intentado hacerlo pero me genera errores o me duplica registro.

gracia por su ayuda
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Trigger para actualizar la misma tabla

Publicado por Isaias (4558 intervenciones) el 11/10/2016 23:18:40
Alonso

Eso es IMPOSIBLE, ya que al dispararse el PRIMER TRIGGER, no puedes hacer un INSERT en la misma tabla, ya que se DISPARARIA de nuevo el trigger y eso es MERAMENTE IMPOSIBLE.

¿Que puedes hacer?

Que el PROCEDIMIENTO que inserta o actualiza el registro en la tabla,sea el mismo que inserte en la tabla historica.

¿Me expico?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Trigger para actualizar la misma tabla

Publicado por Alonso (2 intervenciones) el 11/10/2016 23:24:06
hola, gracias por tu respuesta.

aclarado, el tema. mil gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Trigger para actualizar la misma tabla

Publicado por Isaias (4558 intervenciones) el 12/10/2016 00:16:04
Ahora bien, te SUGIERO que crees una tabla de HISTORICO (o auditoria), pero NO INSERTES en la misma tabla.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de francisco
Val: 4
Ha aumentado su posición en 24 puestos en SQL Server (en relación al último mes)
Gráfica de SQL Server

Trigger para actualizar la misma tabla

Publicado por francisco (4 intervenciones) el 12/10/2016 02:03:42
Yo creo que si se puede hacer,

Puedes diferenciar el insertar desde una aplicación y desde una trigger meadiante algun valor. Claro si te lo permite Sql Server.

Otra forma, hay que revisar la opcion not for replication, con esto se podría lograr algo.

Codigo Fuente Sistema Contable Administrativo en fb.me/Contable.Net
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Trigger para actualizar la misma tabla

Publicado por Isaias (4558 intervenciones) el 12/10/2016 20:38:55
En el SUPUESTO que se pudiera, ¿Que caso tendria almacenar el HISTORICO en la misma tabla?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de francisco
Val: 4
Ha aumentado su posición en 24 puestos en SQL Server (en relación al último mes)
Gráfica de SQL Server

Trigger para actualizar la misma tabla

Publicado por francisco (4 intervenciones) el 12/10/2016 20:50:11
Claro, eso es otra cosa.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar