Restrictions on cascading deletes
You can use cascading deletes for most deletes, including
deletes on self-referencing and cyclic queries. The only exception
is correlated subqueries, which are nested SELECT statements in which
the value that the subquery (or inner SELECT) produces depends on
a value produced by the outer SELECT statement that contains it. If
you have implemented cascading deletes, you cannot write deletes that
use a child table in the correlated subquery. You receive an error
when you attempt to delete from a correlated subquery.
Restriction: You cannot define a DELETE trigger event on a table
if the table defines a referential constraint with ON DELETE CASCADE.