三张表A、B、C,写A的触发器,添加A表中数据的时候,判断一下是否在B表中存在相同的数据,如果存在,则在C中增加一行数据,否则不增加。我写了一个不行的阿,各位看看哪里的问题
creat trigger inserta as
declare @insertdata Int
set @insertdata = (select count(*) from A,B where A.ID=B.ID)
if (@insertdata > 0)
begin
insert into c.....
end
现在结果是(@insertdata > 0)条件总成立,为什么阿

解决方案 »

  1.   

    creat trigger insert as
    declare @insertdata Int
    set @insertdata = (select count(*) from inserted i,B where i.ID=B.ID)
    if (@insertdata > 0)
    begin
    insert into c.....
    end
      

  2.   

    creat trigger inserta
    on table
    for insert,detele,update
    as
    declare @insertdata Int
    set @insertdata = (select count(*) from A,B where A.ID=B.ID)
    if (@insertdata > 0)
    begin
    insert into c.....
    end
      

  3.   

    create trigger trg_insert on tableA
    for insert
    as
    if exists(select 1 from tableB b inner join inserted i on b.id = i.id)
    begin
        begin transaction
        insert into tableC
        commit
    end
    GO
      

  4.   

    creat trigger inserta
    on table
    for insert,detele,update
    as
    declare @insertdata Int
    set @insertdata = (select count(*) from insered A,B where A.ID=B.ID)
    if (@insertdata > 0)
    begin
    insert into c.....
    end
    刚才没看到..............
      

  5.   

    creat trigger inserta
    on table
    for insert
    as
    if exists(select * from inserted A,B where A.ID=B.ID)
      insert into c.....