如果有个表A  有ID(主键),name
表B 有ID(主键) name AID
在程序里添加B 表内容时会选择A表数据,在“AID”里记录A表的“ID”值加入我要进行删除A表内容时,那么B表的“AID”与A表相同的数据就不存在了。
所以我想在进如B表管理页面的时候去查找“AID”在A表“ID”中不存在的行并且删除掉,这样的语句要怎么写呢。。先谢谢啦。。  

解决方案 »

  1.   


    delete from B where not exists
    (
        select 1 from A where A.id=b.aid
    )
      

  2.   

    你可以百度下资料,写一个触发器(Trigger),
    当删除A表时,对应B表信息也会被删除
    create trigger tr_deleteB
    on table_A
    for delete
    as
    Begin
        --删除数据时,自动删除B表对应数据
        delete from table_B where exists
        (
            select 1 from deleted where deleted.id=table_B.aid
        )
    End