Ver Mensaje Individual
  #2 (permalink)  
Antiguo 18/08/2005, 06:30
Avatar de macedo
macedo
 
Fecha de Ingreso: enero-2002
Ubicación: Madrid
Mensajes: 124
Antigüedad: 23 años
Puntos: 0
Hola de nuevo.

¿Que campos tiene la tabla?
¿Existe más de un nivel de subcategorías?
Lo digo por lo siguiente:

Si tienes in Id (clave principal) puedes añadir un campo (SubDe por ejemplo) en el que pones el id de la categoría a la que pertenece una subcategoría y hacer un delete teniendo ese campo en cuenta.

Si hay más de un nivel de subcategorias podrias hacer lo mismo pero acumulando las categorías de "arriba" con separadores.

Por ejemplo:

Id Categoria SubDe
1 Cat1 Null
2 Cat2 #1#
3 Cat3 #1#2#

De tal manera que puedes borrar toda la categoria "Cat1" con un

Delete From Tabla Where Id=1 or InStr(SubDe,"#1#")

O solo de "Cat2" para abajo con

Delete From Tabla Where Id=1 or InStr(SubDe,"#2#")

etc...

P.D:
Es importante que el campo SubDe empiece y termine siempre con el separador para poder hacer el InStr correctamente.
No recuerdo si InStr funciona bien en SQL Server. Tambien puedes usar SubDe Like '%#1#%'

Saludos

Última edición por macedo; 18/08/2005 a las 08:33