gpt4 book ai didi

sql - 使用 INNER JOIN 从 2 个表中删除

转载 作者:行者123 更新时间:2023-12-01 23:14:57 25 4
gpt4 key购买 nike

我有 3 张 table 。

  • 发票原件
  • 发票
  • 发票历史记录

发票表有外键约束。发票表中的每个条目在 Invoiceoriginal 中都有对应的条目。

invoiceOriginal 表存储发票的原始值,invoice 表存储用户修改的值。这样做是为了在提交时获得差异。

我使用的SQL是

DELETE i
FROM invoice i
INNER JOIN InvoiceHistory aih
ON i.ClientId = aih.HistoryClientNumber
AND i.invoiceNumber = HistoryInvoiceNumber

但是由于外键约束,删除是不可能的。

表格如下:

Invoice         InvoiceOriginal         InvoiceHistory
Id FK_InvoiceId ClientId
ClientId ClientId InvoiceNumber
InvoiceNumber

一旦 InvoiceHistory 中存在同一 clientId 的发票编号条目,我需要删除发票和 InvoiceOriginal 中的条目。

最佳答案

您不能一次对多个表发出删除语句,在删除父记录之前,您需要为每个相关表执行单独的删除语句

关于sql - 使用 INNER JOIN 从 2 个表中删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37050644/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com