比如我有个数据库,里面有3张表,分别是bigclass(大类),smallclass(小类),products(产品)现在我要删除其中一个大类,那么小类中也会跟着删除这个大类,产品表中将会删除包括该大类的所有产品。。
现在能不能这样做,只通过一步操作,就是说直接删除bigclass里的某个大类,后面smallclass,products跟着自动删除?而不是要分三步,先删除bigclass,再删除smallclass,接着删除products,还有,我这样一补到位是不是更高效?还请高手指点,应该怎么设计这个数据库

解决方案 »

  1.   

    一般的做法都是子ID跟父ID关联,没有做不到的,只有想不到的,能力有限,LZ加油..帮你顶下!!!
      

  2.   

    那象要这么实现,只能用删除的触发器了,删除在大类表中建立个删除的触发器,删除此大类的时候就删除小类中的此大类信息,然后再小类表中建立个触发器,删除小类的时候就删除此小类的产品
    CREATE TRIGGER typeTableDelete ON bigclass '删除 
    FOR DELETE 
    AS 
    declare @TYPE_ID nvarchar(255) 
    @TYPE_ID=select 大类的ID from deleted 
    delete from smallclass where 大类ID=@TYPE_ID