sql - 级联删除查询

标签 sql oracle

我有三张 table 。 产品、公司、员工

产品表的 ProductId 是公司的外键 Company 表的 CompanyId 是 Employee 的外键

因此,从 Product 表中删除 ProductId 后,其他表中的所有相关记录都应删除。但我无法触及架构(无法使用更改表)。在这种情况下我应该如何编写查询..

最佳答案

如果您无法添加传播删除的约束,则必须自己编写所有必要的删除:

delete employee where companyid in (select companyid from company c where productid = xxx);
delete company where productid=xxx;
delete product where productid=xxx;

关于sql - 级联删除查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3583459/

相关文章:

mysql - 在 mySQL 中执行任意数量的自连接

java - 更新多个表 JDBC

oracle - 在 Oracle 中使用 Owner.table 插入数据时出错,无需所有者即可工作

sql - Oracle-RETURNING与聚合函数结合

mysql - 如何获取线程 SQL 查询中的最后一条消息

mysql - 比较和更新百万行的最快方法

mysql - 我想提取同一个表中 2 列的不同值以及 SQL 中这些唯一值的关联唯一值列

c# - 带有绑定(bind)变量的 OleDbCommand

sql - 通用递归sql查询

sql - 如何删除以名称的第一个字符开头的行?