【问题标题】:how to delete a record related to ten tables with foreign keys如何使用外键删除与十张表相关的记录
【发布时间】:2017-10-27 13:21:13
【问题描述】:

Customers 表将 CustomerId 作为主键。 客户表与其他10个表相关,CustomerId用作外键

我使用以下脚本删除了订单表中的客户和参考

DELETE orders 
FROM   Customers a
       INNER JOIN CustomerId b
               ON b.CouponId = a.CouponId

如何在不使用Delete Cascade的情况下删除所有十张表中与CustomerId相关的所有记录

【问题讨论】:

  • 据我所知,您的delete 应该删除orders 中的所有行。
  • 这不是有效的语法。您不会在任何地方提及订单。

标签: sql sql-server tsql


【解决方案1】:

这是从联合表中删除行的语法:

DELETE t1
FROM Table1 AS t1 
INNER JOIN Table2 AS t2 ON t1.id = t2.id 
WHERE t1.Col_name = 'something'

我相信customerId 是您的专栏名称。看起来你有column name,而不是table name。

【讨论】:

    【解决方案2】:

    如果您不想使用删除级联,则需要在从 Customer 表中删除之前手动删除所有相关表中的记录。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-21
      • 1970-01-01
      • 2020-12-18
      • 1970-01-01
      • 1970-01-01
      • 2020-06-21
      相关资源
      最近更新 更多