SQL Server - PROBLEMA CON TRIGGER SQL SERVER 2008 SR2

 
Vista:

PROBLEMA CON TRIGGER SQL SERVER 2008 SR2

Publicado por Coral (3 intervenciones) el 17/01/2013 23:33:34
Hola, tenemos el siguiente trigger que se ejecuta tras actualizar la tabla TL_ticketsCabecera y escribe un archivo V123.txt con el importe del total del ticket (importe) de esa operación, funciona correctamente, solo que por alguna razón, lo hace 3 veces por cada ticket creado, se supone que el programa hace 3 updates en esa tabla y por eso genera los 3 archivos(por supuesto no tenemos acceso al código del programa, por eso solo tengo el recurso de los triggers).
La pregunta es.... como evitar eso y hacer que solo genere un solo archivo por cada ticket generado o que por cada tres UPDATE de la tabla solo se active una vez el trigger?

USE [DATABASE]
GO
/****** Object: Trigger [dbo].[Cash] Script Date: 01/10/2013 17:39:27 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[Cash] ON [dbo].[TL_TicketsCabecera]
AFTER UPDATE
AS
DECLARE @UnidadOperativa VARCHAR(20)
DECLARE @Jornada VARCHAR(8)
DECLARE @Numero VARCHAR(20)
DECLARE @Importe NUMERIC(9,2)
DECLARE @COMMAND VARCHAR(1000)
DECLARE @Caja VARCHAR(20);
BEGIN
SELECT
@UnidadOperativa= TC.UnidadOperativa,
@Jornada= TC.Jornada,
@Numero= TC.Numero,
@Importe = TC.Importe,
@Caja=TC.Caja
FROM
inserted AS TC
LEFT JOIN
[dbo].[TL_TicketsPagos] AS TP
ON
(TC.UnidadOperativa = TP.UnidadOperativa AND TC.Jornada= TP.Jornada AND TC.Numero= TP.Numero)
WHERE
TP.Tipo='MET'
GROUP BY
TC.UnidadOperativa, TC.Jornada, TC.Numero, TC.Importe, TC.Caja

IF (@Importe>0 AND @Caja='CAJA01')
BEGIN

SET @COMMAND='@ECHO ' + CAST(ABS(@Importe) AS VARCHAR(6)) +' >C:\CAS\V123.TXT'
EXEC Xp_CMDSHELL @COMMAND

END
ELSE
BEGIN

END
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

PROBLEMA CON TRIGGER SQL SERVER 2008 SR2

Publicado por Isaias (4558 intervenciones) el 18/01/2013 21:07:51
Coral

Es regla de los foros, solo colocar una vez tu duda.

Ya te di una respuesta.
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