Estimados, buenos días. Estoy seguro que no estoy usando la herramienta más indicada pero si la que me sacará del problema en este momento.
Tengo una aplicación que inserta un registro en una tabla "A" bajo determinada condicion. Cuando se produce una segunda condicion, se inserta un nuevo registro en la misma tabla "A" y se cierra el anterior (un valor false en un campo booleano). Eso funciona perfecto.
El problema surgió cuando cree un trigger (que tambien funciona perfecto) que inserta algunos valores de ese registro insertado en otro tabla "B". Cuando se inserta el registro se dispara el trigger, inserta en la tabla indicada ("B"), pero en la tabla "A" no cierra el registro anterior.
Es como si el trigger estuviera evitando o saltando un paso de mi programa.
El trigger es el siguiente:
ALTER trigger [dbo].[ti_inicio]
on [dbo].[Produccion] after insert
as
declare @tiponovedad char, @nronovedad int, @nroot varchar(8), @tipotarea as char (3) , @inicio as datetime,
@usuario as int, @maq as int, @tur as int, @mtslin as int
select @nronovedad=codigointerno,@nroot=(select ID from Tablero where Codigo=codigotablero),
@tipotarea=Estado, @inicio=CAST(inicio - 2 as datetime), @usuario=CodigoUsuario,
@maq=CS, @tur= CodigoTurno, @mtslin=0
from inserted
begin
insert into nov_prd (tipo_novedad,nro_novedad,nro_ord_prd,tipo_tarea,f h_tarea,operario,
maquina,turno,metros_lineales) values ('A',@nronovedad,@nroot,@tipotarea,@inicio,
@usuario,@maq,@tur,0)
end
desde ya muchas gracias a todos por su aporte