Sobre Triggers Insert

20/06/2007 - 21:55 por CHAR72 | Informe spam
Hola estoy intentando programar un triger insert que me actualice un campo
del nuevo registro,

CREATE TRIGGER Insert_Date ON [dbo].[Cajas]
FOR INSERT
AS
DECLARE @ID smallint
SELECT @ID=ID FROM #Datos

UPDATE Cajas
SET Insert_Date=GetDate(), Insert_ID=@ID
FROM Inserted INNER JOIN
Cajas ON Inserted.Num_Caja = Cajas.Num_Caja
WHERE Cajas.Num_Caja=Inserted.Num_Caja

Si lo pongo asi, funciona pero me dispara el trigger UPDATE de la tabla y no
es lo que quiero. No puedo usar valores por defecto porque el ID lo obtengo
de una tabla temporal.

Saludos y gracias

Carlos
 

Leer las respuestas

#1 Maxi
20/06/2007 - 22:05 | Informe spam
Hola, como es que el ID lo tomas de una temporal? porque? que quieres
resolver con este trigger exactamente?, a que te referis con valores por
defecto?


-
Microsoft M.V.P en SQLServer
SQLTotal Consulting - Servicios en SQLServer
Email:
"CHAR72" <char72[nos pa m]@gmail.com> escribió en el mensaje
news:eYv%
Hola estoy intentando programar un triger insert que me actualice un campo
del nuevo registro,

CREATE TRIGGER Insert_Date ON [dbo].[Cajas]
FOR INSERT
AS
DECLARE @ID smallint
SELECT @ID=ID FROM #Datos

UPDATE Cajas
SET Insert_Date=GetDate(), Insert_ID=@ID
FROM Inserted INNER JOIN
Cajas ON Inserted.Num_Caja = Cajas.Num_Caja
WHERE Cajas.Num_Caja=Inserted.Num_Caja

Si lo pongo asi, funciona pero me dispara el trigger UPDATE de la tabla y
no es lo que quiero. No puedo usar valores por defecto porque el ID lo
obtengo de una tabla temporal.

Saludos y gracias

Carlos


Preguntas similares