Trigger Delete para varios regs

28/01/2005 - 20:41 por Axel | Informe spam
Segun yo el siguiente trigger funciona solo para cuando se hace un borrado de
registro por registro, pero si hiciera el borrado de varios a la vez creo que
solo borraria la ultima linea de la tabla F570501A.

? Como podre hacer para que se borren todos tomando en cuenta que la llave
de F550501A es CSIMCPTAL y CSIMCVESER ?

CREATE TRIGGER Delete_JDE_F570501A ON [cat_servicios]
FOR DELETE
AS

DECLARE @almacen varchar (13), @CveSer varchar (3), @Desc varchar(30) ,
@JDEDate int, @JDETime int, @Today datetime

SELECT @almacen=clas_ptal, @CveSer=Cve_servicio FROM DELETED

DELETE FROM PRODDTA.F570501A WHERE CSIMCPTAL=@almacen AND CSIMCVESER=@CveSer

De antemando muchas gracias al Maestro en SQL que pueda ayudarme
Atte.
Axel Espn
 

Leer las respuestas

#1 Maxi
28/01/2005 - 21:20 | Informe spam
Hola, los triggers disponen de 2 tablas (inserted y deleted) las cuales
podriamos usar, entonces:

CREATE TRIGGER Delete_JDE_F570501A ON [cat_servicios]
FOR DELETE
AS

DECLARE @almacen varchar (13), @CveSer varchar (3), @Desc varchar(30) ,
@JDEDate int, @JDETime int, @Today datetime

SELECT @almacen=clas_ptal, @CveSer=Cve_servicio FROM DELETED

DELETE PRODDTA.F570501A
FROM PRODDTA.F570501A INNER JOIN DELETED ON
PRODDTA.F570501A.CSIMCPTAL = DELETED.CLAS_PTAL AND
PRODDTA.F570501A.CSIMCVESER = DELETED.CVE_SERVICIO



pd: probalo por las dudas ;)




Salu2
Maxi


"Axel" <axel_espn@(borrar)hotmail.com> escribió en el mensaje
news:
Segun yo el siguiente trigger funciona solo para cuando se hace un borrado
de
registro por registro, pero si hiciera el borrado de varios a la vez creo
que
solo borraria la ultima linea de la tabla F570501A.

? Como podre hacer para que se borren todos tomando en cuenta que la
llave
de F550501A es CSIMCPTAL y CSIMCVESER ?

CREATE TRIGGER Delete_JDE_F570501A ON [cat_servicios]
FOR DELETE
AS

DECLARE @almacen varchar (13), @CveSer varchar (3), @Desc varchar(30) ,
@JDEDate int, @JDETime int, @Today datetime

SELECT @almacen=clas_ptal, @CveSer=Cve_servicio FROM DELETED

DELETE FROM PRODDTA.F570501A WHERE CSIMCPTAL=@almacen AND
CSIMCVESER=@CveSer

De antemando muchas gracias al Maestro en SQL que pueda ayudarme
Atte.
Axel Espn

Preguntas similares