一张表内如果有好多的外键 ,现在想删除主表,如何删除。那些比较烦的方法我知道,一个表写个删除语句,感觉那样不合理,还要放到事务里,以保证合理性。想知道有没有什么好的方法实现,连同子表一起删除的好方法各位前辈,我刚刚工作不久,还是菜鸟,请前辈们指点一下没什么分,所以请谅解

解决方案 »

  1.   

    方法1.在主表建立除法器。
    方法2.在建立从表的时候指定,外键引用动作.create table tb1 (id int primary key)
    --insert into tb1(id) values(1)
    --insert into tb1(id) values(2)
    --insert into tb1(id) values(3)
    --select * from tb1
    create table tb2 (id int primary key,rid int
    CONSTRAINT FK FOREIGN KEY REFERENCES tb1(id) ON DELETE CASCADE)
    --insert into tb2(id,rid)values(1,1)
    --insert into tb2(id,rid)values(2,2)
    --insert into tb2(id,rid)values(3,2)
    --insert into tb2(id,rid)values(4,3)
    --select * from tb2
    --delete from tb1 where id = 2
    --select * from tb2
    --drop table tb1,tb2