What happens when I delete a contact who has records assigned to it?
Oracle B2C Service, All versions
Please note that you need to be careful when deleting contact or other parent records from the Oracle B2C Service console. There is no record restore option for this action and, once the record is deleted, you will be unable to restore that record to your site.
Cascading Delete - Versions 21C and below
When you delete a single contact record from your client, normally you also delete all incidents and tasks that are associated with that contact. This applies to organizations that have associated contacts and also incidents that have aggregated custom objects. Deleting a parent object from the console will also delete all child objects except for some corner cases. Please note that file attachments, assets and campaigns are not affected by a contact deletion. The contact id field on opportunities associated with the deleted contact is nulled out and any opportunity records will remain.
Delete with Orphan Sweep - Versions 21D and above
When parent objects are deleted in 21D and above, the child objects are now not deleted but removed from association to the deleted object.
Previously, when an organization was deleted, the contacts and incidents associated to that organization were also deleted. Similarly, when a contact was deleted, the incidents associated to that contact were also deleted.
Now, when an organization is deleted, the associated contacts and incidents are not deleted but are updated to set the associated Organization ID to NULL. Similarly, upon deletion of a contact, the Contact ID of the associated incidents are set to NULL. These updates are performed in an asynchronous manner so a delay in nulling out these values is normal and to be expected.
This is the same functionality used by the Bulk Delete API when custom code deletes objects. For more information on using the Bulk Delete API please refer to Answer ID 12209: Incident contact set to null when contact is deleted via API.