I dont think you got the point.
Lets suppose you have a table M as master and table D as details with D pointing to M via a foreign key with a cascade delete.
It means that if you want to delete a single record in M the database automatically cascade the delete onto all records in D having the foreign key equal to the primary key of the record in M you want to delete.
This delete trasaction is atomic: either you delete the record in M and all linked records in D or you dont delete anything.
This is how the logic of cascade delete works in all relational databases .
SC does not allow this db logic to be used because in a Master/Details form you just have two possibilities:
- Warning you about the existence of some details record which halts the delete process altogether.
OR
- Try to delete the details record first and afterwards the master record but in two separate transactions. Basically SC is trying to emulate a cascade delete but not in an atomic way.
If you opt for 2 you risk to have the records in D deleted and the record in M not deleted if something goes wrong in deleting the M record.
If you opt for 1 you have to manually delete records in D first and then delete the record in M otherwise SC keeps complaining about the existence of dependent records in D.
My suggestion is to have a third option where basically SC does not do anything and let the database do its job in an atomic way.