是否可以从SQL中的级联删除中输出值?

就像是:

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

如果有两个总成员的家庭,则应产生类似的东西:

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

也可以接受解决方案在划界列表中使用级联删除成员的每个家庭产生1行的解决方案。就像是:

[FamilyID]   [FamilyName]   [MemberNames]
 12           'Family A'     'Member 1|Member 2'
 13           'Family B'     'Member 3'
有帮助吗?

解决方案

我能找到的最好的解决方案产生了两个结果集:

  1. 选择家庭的ID以删除到表变量中。
  2. 删除/输出家族成员在表变量上内部连接。
  3. 删除/输出家族在表变量上内部连接。
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top