SqlServer 2005 (Delete en cascada)

29/11/2006 - 14:38 por Paul | Informe spam
Hola,
Estoy usando SQL Server 2005, y tengo una tengo el siguiente problema:

Tabla Pieza( Id, Nombre,)
Tabla Composición, que indica que una pieza esta compuesta por otras
piezas:
Composicion(Id, IdPiezaPadre, idPiezaHija)

Si hago una relación entre "Pieza.Id" y "Composición.IdPiezaPadre" y
marca actualizar y eliminar en cascada, todo va correctamente, pero si
ahora pongo una segunda relación entre "Pieza.Id" y
"Composición.IdPiezaHija" y marca actualizar y eliminar en cascada,
resulata que me da un error de bucle.

Yo quiero que cuando elimine una pieza de la tabla Piezas se eliminaran
los registros de la tabla composición que tuvieran en el campo
IdPiezaPadre, idPiezaHija igual al id de la tabla piezas.

En cambio si no pongo lo de eliminar en cascada, y hago un Dataset de
la BBDD en el Dataset si que puedo hacer los dos deletes en cascada y
funciona correctamente.

Como hacerlo tamnien en SQL Server 2005? Creo que es muy simple, no se
pq no me deja hacerla

Gracias
 

Leer las respuestas

#1 Developers - Dany Acosta
30/11/2006 - 05:20 | Informe spam
Sigo sin Entender... porque publicas el mismo mensaje en es.Vfoxpro, es.Sqlserver, es.dotnet.vb,
debes ser conciente que mientras mas grupos publiques nadie te va contestar... tienes que postear tu
problema en el grupo al cual pertenece en este caso seria es.sqlserver y tener paciencia hasta que
te contesten... en SAN-GOOGLE existe bastante información sobre esto y es mas en www.wrox.com
tambien tienes

suerte



Paul escribió:
Hola,
Estoy usando SQL Server 2005, y tengo una tengo el siguiente problema:

Tabla Pieza( Id, Nombre,)
Tabla Composición, que indica que una pieza esta compuesta por otras
piezas:
Composicion(Id, IdPiezaPadre, idPiezaHija)

Si hago una relación entre "Pieza.Id" y "Composición.IdPiezaPadre" y
marca actualizar y eliminar en cascada, todo va correctamente, pero si
ahora pongo una segunda relación entre "Pieza.Id" y
"Composición.IdPiezaHija" y marca actualizar y eliminar en cascada,
resulata que me da un error de bucle.

Yo quiero que cuando elimine una pieza de la tabla Piezas se eliminaran
los registros de la tabla composición que tuvieran en el campo
IdPiezaPadre, idPiezaHija igual al id de la tabla piezas.

En cambio si no pongo lo de eliminar en cascada, y hago un Dataset de
la BBDD en el Dataset si que puedo hacer los dos deletes en cascada y
funciona correctamente.

Como hacerlo tamnien en SQL Server 2005? Creo que es muy simple, no se
pq no me deja hacerla

Gracias

Preguntas similares