Hey quisiera saber si, para actualizar y eliminar en cascada una relacion recursiva en SQL server se debe relacionar la tabla con ella misma o con una copia de la misma tabla.
Lo que he intentado hacer es relacionar la tabla con ella misma, pero no se activan las opciones para actualizacion y eliminacion en cascada.
La tabla que estoy diseñando es una especie de catalogo, espero entiendan la duda.
Mira, yo he hecho eso pero en MySQL, con tablas InnoDB por lo de la integridad referencial.
Al menos en mi caso tenia las referencias asi
ON UPDATE CASTADE ON DELETE NO ACTION
Eso significa que no puedo eliminar un registro padre sin antes haber eliminado todos los registros hijos, La unica forma de eliminar los registros es hacerte una funcion "recursiva" en php, que vaya hasta el ultimo registro hijo y los vaya borrando hacia arriba.
Lastima que ya no tengo el codigo, pero si se puede..
tenes que ir haciendo consultas consecutivas para ir consiguiendo todos los hijos, hasta que encontres un nodo que no tenga mas hijos, entonces lo borras, luego con el siguiente y asi.. la funcion al final no es tan complicada como parece pero si te da un dolor de cabeza por un buen rato