Una de triggers

18/11/2003 - 19:17 por Clarck Kendall | Informe spam
Que tal :

Como puedo borrar a través de un trigger registros de dos tablas, funciona
sólo con una.
Código :
"create trigger tg_borra_detalle on ur_encabezado for delete as delete
ur_cons
from ur_cons,deleted where ur_cons.folio=deleted.folio"
La idea es borrar también otro registro de la tabla ur_cuenta por el campo
folio

Acepto sugerencias

Preguntas similare

Leer las respuestas

#1 Accotto Maximiliano Damian
18/11/2003 - 23:21 | Informe spam
A ver si te entiendo!! vos ademas de ese Delete queres hacer otro pero a
distinta tabla verdad?

prueba de agregar esto:

Delete from ur_cuenta
from ur_cuenta inner join deleted on
ur_cuenta.folio = deleted.folio

un saludo

Accotto Maximiliano Damian
Fundicion San Cayetano S.A.
Buenos Aires Argentina

Gerente de Sistemas y Tecnologia
()

"Clarck Kendall" escribió en el mensaje
news:
Que tal :

Como puedo borrar a través de un trigger registros de dos tablas, funciona
sólo con una.
Código :
"create trigger tg_borra_detalle on ur_encabezado for delete as delete
ur_cons
from ur_cons,deleted where ur_cons.folio=deleted.folio"
La idea es borrar también otro registro de la tabla ur_cuenta por el campo
folio

Acepto sugerencias



Respuesta Responder a este mensaje
#2 Clarck Kendall
19/11/2003 - 08:24 | Informe spam
Lo he solucionado de la siguiente forma :



create trigger tg_borra_detalle on ur_encabezado for delete as

begin

declare @folio int

select @folio=(select deleted.folio from deleted)

delete from ur_cons where ur_cons.folio=@folio

delete from ur_cuenta where ur_cuenta.folio=@folio

end



:)
Respuesta Responder a este mensaje
#3 Javier Loria
19/11/2003 - 16:44 | Informe spam
Hola Clarck:
Y que pasara cuando se borre mas de una fila a la vez?, Tu trigger se
descompone!!!.
Mejor usar:

DELETE FROM Ur_Cons
FROM Ur_Cons JOIN Deleted
ON Ur_Cons.Folio=Deleted.Folio

DELETE FROM Ur_Cuenta
FROM Ur_Cuenta JOIN Deleted
ON Ur_Cuenta.Folio=Deleted.Folio

Saludos,


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.

Clarck Kendall escribio:
Lo he solucionado de la siguiente forma :



create trigger tg_borra_detalle on ur_encabezado for delete as

begin

declare @folio int

select @folio=(select deleted.folio from deleted)

delete from ur_cons where ur_cons.folio=@folio

delete from ur_cuenta where ur_cuenta.folio=@folio

end



:)
Respuesta Responder a este mensaje
#4 Clarck Kendall
20/11/2003 - 08:04 | Informe spam
Pues bien, la verdad es que en mi caso puntual sólo se elimina un registro a
la vez, pero se agradece la opción de eliminar múltiples registros.

Más saludos , :)

"Javier Loria" escribió en el mensaje
news:
Hola Clarck:
Y que pasara cuando se borre mas de una fila a la vez?, Tu trigger se
descompone!!!.
Mejor usar:

DELETE FROM Ur_Cons
FROM Ur_Cons JOIN Deleted
ON Ur_Cons.Folio=Deleted.Folio

DELETE FROM Ur_Cuenta
FROM Ur_Cuenta JOIN Deleted
ON Ur_Cuenta.Folio=Deleted.Folio

Saludos,


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.

Clarck Kendall escribio:
> Lo he solucionado de la siguiente forma :
>
>
>
> create trigger tg_borra_detalle on ur_encabezado for delete as
>
> begin
>
> declare @folio int
>
> select @folio=(select deleted.folio from deleted)
>
> delete from ur_cons where ur_cons.folio=@folio
>
> delete from ur_cuenta where ur_cuenta.folio=@folio
>
> end
>
>
>
> :)


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida