sql – 使用INNER JOIN从2个表中删除
发布时间:2020-05-25 10:16:59 所属栏目:MsSql 来源:互联网
导读:我有3张桌子. InvoiceOriginal 发票 InvoiceHistory invoice表具有外键约束. 发票表中的每个条目在Invoiceoriginal中都有相应的条目. invoiceOriginal表存储发票的原始值,发票表存储用户已修改的值. 这样做是为了在提交时获得不同之处. 我正在使用的SQL是 DEL
|
我有3张桌子. > InvoiceOriginal invoice表具有外键约束. invoiceOriginal表存储发票的原始值,发票表存储用户已修改的值. 我正在使用的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中的条目. 解决方法您不能一次针对多个表发出delete语句,在删除父记录之前,需要为每个相关表创建单独的delete语句.(编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- sql – 如何解决“只有一个表达式可以在选择列表中指定子查
- linq-to-sql – 实体框架:设置新对象引用时自动更新外键
- mysql下普通用户备份数据库时无lock tables权限的解决方法
- SQL Server Reporting Services 2008 R2 – 文件夹和报告安
- 利用ganglia监控redis的最新解决方法
- windows下如何安装和启动MySQL
- sql-server – 在NHibernate和SqlServer中的数据审计
- sql-server-2008 – 使用正确的小数分隔符将float转换为var
- 动态添加Redis密码认证的方法
- SQL Server 存储过程分页示例代码
