INSERT y Trigger INSTEAD OF

10/12/2004 - 21:17 por luis_mtz | Informe spam
Saludos

Tengo un dilema, tengo en un procedure el siguiente
codigo...

INSERT INTO dbo.movdet
(mdt_cla,mov_cla, art_cla)
VALUES (@lnid,@movcla, @artcla)
SELECT @lnerr = @@error IF @lnerr <> 0 BEGIN ROLLBACK
TRANSACTION RETURN END

en la Tabla movdet tengo un TRIGGER INSTEAD OF INSERT con
el siguiente codigo..

INSERT INTO movdet (mov_cla,art_cla)
SELECT i.mov_cla,i.art_cla
FROM inserted i INNER JOIN movimiento a ON
i.mov_cla=a.mov_cla

(Para fin de simplificar no puse el resto de los campos en
la consulta, pero si es necesario el INNER JOIN, y
basicamente el INSERT es lo unico del trigger)

En el procedure reviso @@error si es que existe algun
error, en el TRIGGER no lo reviso. pregunta.. Es
suficiente con la revision que hago en el procedure, o es
necesario tambien hacer en el trigger, notar que en
procedure en caso de error hago un rollback.

Saludos.

luis_mtz
 

Leer las respuestas

#1 Maxi
10/12/2004 - 21:21 | Informe spam
Hola, con que lo hagas en el SP esta bien, de todas formas podrias hacerlo
todo en el trigger y nada en el SP ;)


Salu2
Maxi


"luis_mtz" escribió en el mensaje
news:145301c4def5$3f2b1b80$
Saludos

Tengo un dilema, tengo en un procedure el siguiente
codigo...

INSERT INTO dbo.movdet
(mdt_cla,mov_cla, art_cla)
VALUES (@lnid,@movcla, @artcla)
SELECT @lnerr = @@error IF @lnerr <> 0 BEGIN ROLLBACK
TRANSACTION RETURN END

en la Tabla movdet tengo un TRIGGER INSTEAD OF INSERT con
el siguiente codigo..

INSERT INTO movdet (mov_cla,art_cla)
SELECT i.mov_cla,i.art_cla
FROM inserted i INNER JOIN movimiento a ON
i.mov_cla=a.mov_cla

(Para fin de simplificar no puse el resto de los campos en
la consulta, pero si es necesario el INNER JOIN, y
basicamente el INSERT es lo unico del trigger)

En el procedure reviso @@error si es que existe algun
error, en el TRIGGER no lo reviso. pregunta.. Es
suficiente con la revision que hago en el procedure, o es
necesario tambien hacer en el trigger, notar que en
procedure en caso de error hago un rollback.

Saludos.

luis_mtz

Preguntas similares