Hola,
Tengo una tabla cde la siguiente forma:
Compos (id int, Nombre varchar(30), idPadre int)
Donde idPadre apunta a un Compos.id
Quiero que cuando se elimine un Compos.id se elimen sus hijos
Ejemplo:
Compos (1, "Uno", NULL)
Compos (2, "Dos", 1)
Compos (3, "Tres", 1)
Compos (4, "Cuatro", 2)
Por consiguiente si eliman el Compos.id=1 se deben de eliminar los
id=2,3,4. El 4 se debe eliminar pq su padre es el 2 y el dos pq su
padre es el 1.
El trigger es el siguiente:
ALTER TRIGGER [dbo].[DelCompos]
ON [dbo].[Compos]
FOR DELETE
AS
BEGIN
SET NOCOUNT ON;
DELETE FROM Compos WHERE idPadre IN (SELECT id FROM DELETED);
END
Pero con este triger, al eliminar el Compos.id=1 se eliman el
Compos.id=2 y el Compos.id=3, pero NO se elimina el Compos.id=4.
Alguien puede darme una solución para que se eliminen realmente todos
sus hijos?
Gracias
Leer las respuestas