Cascading delete SQL output

Is it possible to infer values ​​from cascading deletion in SQL?

Sort of:

DELETE [Families]
    OUTPUT [deleted].[FamilyID] [deleted].[FamilyName], [Members].[MemberName]
    FROM [Families]
    LEFT JOIN [Members]
        ON [Members].[FamilyID] = [Families].[FamilyID]

If there were two families with three full members, it would be something like:

[FamilyID]   [FamilyName]   [MemberName]
 12           'Family A'     'Member 1'
 12           'Family A'     'Member 2'
 13           'Family B'     'Member 3'

It is also acceptable for the solution to give 1 line per family with elements removed from the cascade to a delimited list. Sort of:

[FamilyID]   [FamilyName]   [MemberNames]
 12           'Family A'     'Member 1|Member 2'
 13           'Family B'     'Member 3'
+3
source share
1 answer

The best solution I could find gives two sets of results:

  • Select the identifiers of the families you want to remove into the table variable.
  • Delete / list family members internally connected to a table variable.
  • Delete / display families associated with a table variable.
+2
source

Source: https://habr.com/ru/post/1769652/


All Articles