Actualizacion y Borrado en cascada con TSQL

tema enviado por Pelydas en SQL Server
tema iniciado el 03/08/2011
Hola a todos, tengo que hacer triggers para lograr lo mismo que las cascadas, es decir quitar esta funcion a las FK y hacerlo yo, pero no tengo ni idea de por donde empezar en la parte del borrado, la parte de actualizacion la tengo mas o menos clara. Explico mas claro con un ejemplo: Tabla1 .....| idtabla1 | Descrip | .... Tabla2 ......| idtabla2 | Descrip | ..... Tabla3 ......| idtabla3 | Descrip | ..... y tengo definidas FK_idtabla2_idtabla1 en Tabla2 y FK_idtabla3_idtabla2 en Tabla3. Si tengo que actualizar idtabla1 no pasa nada porque simulo la cascada con TSQL en un trigger, desabilito FK_idtabla2_idtabla1 y cambio en Tabla1 y Tabla2 idtabla1 e idtabla2 y todas las idtablaX que tengan ese valor en FK_idtablaX. La cosa se complica cuando borro en Tabla1 articulos puesto que debo borrar en Tabla2 los articulos con llave FK_idtabla2_idtabla1 y aunque no tienen FK directa en Tabla1 tengo que borrar tambien los articulos en Tabla3 que tienen FK_idtabla3_idtabla2. Para las actualizacion use una serie de inner join entre tablas como sys_foreing_keys, sys_column , etc usando EXEC con cadenas de caracteres formadas para realizar las "cascadas" pero en el caso del borrado no tengo ni idea de como buscar todas las "ramas" o "dependencias" que se "cuelguen" desde Tabla1. Por supuesto estarian involucradas en esto unas 60 tablas Espero haber sido claro y sobre todo no muy aburrido con el tamaño de este mensaje. Gracias.