一个订单管理数据库,有四个表:客户、产品、订购单、订单明细。
订购单表参照客户表、订单明细又参照订购单表和产品表。
那么可以删除产品表和客户表的记录吗?怎么实现?

解决方案 »

  1.   


    1不能 如果在相关表(订购单)中存在与主表(客户单)某行匹配的行,则不能从主表(客户单)中删除该行
    2在订购单中让约束失效
     alter table 订购单 nocheck constraint 订购单外键约束名
      

  2.   

    "订购单表参照客户表、订单明细又参照订购单表和产品表"
    说得乱,不就是很基本的参照,订单分表头表体,表头当然关联客户了,表体每一条记录当然参数产品了"可以删除产品表和客户表的记录吗"
    如是定义了外键约束,直接外键约束先咔嚓掉不就可以
    否则,如外键定义了级联删除,删基础表时参照表数据一起Over了