Si no tiene permiso para modificar las tablas, puede echar un vistazo a EXISTS operador.
Le permitirá eliminar filas de una tabla solo si la consulta dentro de EXISTS devolver al menos 1 resultado. Puede usarlo para comprobar las dependencias.
Puedes escribir 3 consultas:
DELETE C c
WHERE EXISTS (SELECT 1
FROM B b
WHERE c.b = b.b
AND EXISTS (SELECT 1
FROM A a
WHERE a.a = b.a
AND ... ));
DELETE B b
WHERE EXISTS (SELECT 1
FROM A a
WHERE a.a = b.a
AND ...);
DELETE A a
WHERE ...
El primero se encargará de grabar en C que hace referencia a registros en B que hace referencia a registros en A que desea eliminar.
Luego puede eliminar registros de B ya que no hay más dependencias en C .
Finalmente, puede eliminar registros de A usando la misma lógica.