请教一个sql server2000中触发器的问题 。。

需求是 : 若A表发生insert,update操作,则往B表中写入A表刚被insert或者update的记录的c字段。

问题 : insert时的语法怎么写??

这是我的sql:

create  trigger tempTri

on A

for insert,update

as

begin

insert into B values (A.c);   --这样写不行,提示()中不能放列

-- update B set c = a.c from A a;  这种update写法没问题  但不能满足需求

end

select c from inserted

每个触发器都会创建两个逻辑专用表:inserted 和 deleted表,表结构与被触发作用的表结构相同 执行完毕后 与触发器相关的两个表都会被删除。

  当执行insert语句时,inserted表存放要向表中插入的所有行;当执行delete语句时,deleted表存放要向表中删除的所有行
当执行update语句时,相当于执行一个delete操作,再执行一个insert操作,旧的行先被移动到deleted表,然后再在新值插入到inserted表和目标表。

create trigger tempTri
on A
for insert,update
as
begin
insert into B values (inserted.c);

end