A表:
ID    name        title
1    session      XXXX
2    cookice      MMMMB表
ID       AID     address
1         1       where
2         1       .....
3         1       aaaa
4         2        bb  两表ID关联:
当B表 AID= 1 的数据都被删除完了的时候 自动的A表ID为1的也删除,没删完的时候A表保持原样
select CASE B.ID 
WHEN '' THEN  delete from A where A.ID= 1
from B where B.AID = 1这里不对 该怎么改....

解决方案 »

  1.   

    你应该
    if not exist(select id from b where aid=1)
    begin
      delete a where id=1
    end
      

  2.   

    怎么问SQL问题都跑到这里啦delete * from A where ID not in (select AID from B)
      

  3.   

    触发器
    --当表B中AID=1的数据空的时候 自动删除表A中id=1的数据。
    CREATE TRIGGER deletetableA on A 
    FOR DELETE 
     AS 
     IF EXISTS(SELECT * FROM B WHERE B.AID='1')
     BEGIN
      DELETE FROM A WHERE a=1
     END
      

  4.   

    #3楼  
    你的语句大错特错!!!
    delete * from ....
    有这样的吗???即使是这样  delete from A where ID not in (select AID from B)
    select AID from B 这时B表都为空了 where ID not in 肯定不行的
      

  5.   

    可不可以不用触发器呀.... 我现在用的是事务好多条SQL在这里 就这条有点问题....
      

  6.   

    if @@ERROR = 0
    begin
    DELETE A WHERE a=1
    end
    go