Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/04/2007, 05:03
Avatar de mariogl84
mariogl84
 
Fecha de Ingreso: noviembre-2002
Ubicación: Barcelona
Mensajes: 433
Antigüedad: 21 años, 5 meses
Puntos: 20
Borrar todos los hijos

Hola a todos.

Tengo una base de datos con una tabla donde guardo categorías. Éstas categorías pueden tener subcategorías, y cada subcategoría también puede tener, y así hasta el nivel que sea. En la tabla guardo nombre de la categoría, nivel en el que se encuentra y la id de su categoría padre.

Por ejemplo, para esta jerarquía:

Cremas
|---- Crema de puerros
|---- Gazpacho
| |------ Con pan
| |------ Sin pan
| |------- Suave
| |------- Fuerte
|---- Vichysoisse


Tengo esta tabla:
ID CATEGORÍA NIVEL PADRE
1 Cremas 1 0
2 Crema de puerros 2 1
3 Gazpacho 2 1
4 Vichysoisse 2 1
5 Con pan 3 3
6 Sin pan 3 3
7 Suave 4 6
8 Fuerte 4 6


¿Alguien me puede dar un algoritmo que me permita, eligiendo una categoría de cualquier nivel, eliminarla junto con todas sus categorías hijas? Por ejemplo, si elijo eliminar "Gazpacho", se deberían borrar las categorías "Gazpacho", "Con pan", "Sin pan", "Suave" y "Fuerte".

Muchas gracias de antemano.