有2张表 我想删除A表的 同时把B表也删除掉 他们有个共同的tid 如果根据这个tid 删除?
如果我删除这张表的数据 如果返回tid?这个tid 不是主键 如果删除的不止一行 那如何操作呢?
delete from [QPTreasureDB].[dbo].[UserTaske] where EndTime<getdate() and UserID=@userId然后再删除这张表 问题是现在 我taskInfo 没有endtime 这个字段 我如何根据tid删除呢?根据tid再删除下面得?
DELETE FROM [LFDSDB].[dbo].[taskInfo] WHERE tid=xx请大侠指点下 在存储过程里面如何写。  因为返回可能是多个字段。新人没什么分  谢谢啦

解决方案 »

  1.   


    触发器
    如果我删除这张表的数据 如果返回tid?
    create trigger tg on table
    for deleted
    decalre @tid int
    select @tid = tid from deleted
    ……
    ……
      

  2.   

    CREATE TRIGGER tri_Delete ON A after delete
    as
    begin
        delete B where id in (select id from deleted)
    end
      

  3.   

    可以通过触发器执行删除:
    create trigger tg on ta
    for delete
    as
    delete from tb where tid in(select tid in deleted)也可以定时执行:
    delete b from tb b where not exists(select 1 from ta where tid=b.tid)
      

  4.   

    create trigger tri_Delete ON a 
    for delete
    as
    begin
        delete B where id in (select id from deleted)
    end