假设一个表b中的主键是identify,现在我需要通过表b更新表a的数据,如果表b中的元组增加了,则把表b符合某条件的值插入表a,请问怎么才能知道现在表b中的元组数是否增加了

解决方案 »

  1.   

    判断一下 表b 的inserted 是否有值
      

  2.   

    --可以用触发器create trigger inserta on b
    after insert
    as
      insert a
      select col... from inserted where ....
      

  3.   

    用insert 触发器 当B表插入数据的时候触发
      

  4.   

    判断B表是否有不符合A表连接条件的记录存在!类似:
    insert into A()
    select ...
    from B
    where not exists (select 1 from A where [] = B.[])
      

  5.   

    用语句判断即可.insert into a (...) select ... from b where not exists(select 1 from a where a.关键字 = b.关键字)
      

  6.   

    @@IDENTITY 系统内置函数可以获取插入后的identity的值。判断是否插入数据成功
      

  7.   

    如果你要实时的,那么触发器最合适了
    如果你是大数据量定期的,那么b表如果只是新增数据没有删除的话,那么就2个表count记录数对比一下,然后用exists插入即可,好处是远程大容量数据做JOIN的话会慢,用COUNT的话就节约时间了