
18/08/2005, 06:30
|
 | | | Fecha de Ingreso: enero-2002 Ubicación: Madrid
Mensajes: 124
Antigüedad: 23 años, 1 mes 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 |