create TRIGGER tig ON tb1 FOR INSERT AS BEGIN insert into tb2(tb2Id) SELECT sid FROM INSERTED END
[code=MSIL]create TRIGGER tig ON tb1 FOR INSERT AS BEGIN insert into tb2(tb2Id) SELECT sid FROM INSERTED END [/code]
create TRIGGER tig ON tb1 FOR INSERT AS BEGIN insert into tb2(tb2Id) SELECT sid FROM INSERTED END
我要加条件怎么加 比如 insert into tb2(tb2Id) select tb3 tid where id=SELECT sid FROM INSERTED ???这样吗??
create TRIGGER tig ON tb1 FOR INSERT AS BEGIN insert into tb2(tb2Id) SELECT sid FROM INSERTED where .... END
insert into tb2(tb2Id) select tid from tb3 where id in (SELECT sid FROM INSERTED)
or: insert into tb2(tb2Id) select tb3,tid from tb3,inserted i where tb3.id=i.sid
触发器是按操作次触发,而不是按行触发, 所以楼主你的写法只会有一条。为什么是最后一条 select @id = id from tb 这样的赋值,随记录行的移动不停给@id重新赋值,所以最终@id的值为最后一行的id值,因此从你看来只执行了最后一条insert x select f1,f2 from inserted 即可
ON tb1
FOR INSERT
AS
BEGIN
insert into tb2(tb2Id) SELECT sid FROM INSERTED
END
ON tb1
FOR INSERT
AS
BEGIN
insert into tb2(tb2Id) SELECT sid FROM INSERTED
END [/code]
ON tb1
FOR INSERT
AS
BEGIN
insert into tb2(tb2Id) SELECT sid FROM INSERTED
END
比如
insert into tb2(tb2Id) select tb3 tid where id=SELECT sid FROM INSERTED ???这样吗??
ON tb1
FOR INSERT
AS
BEGIN
insert into tb2(tb2Id) SELECT sid FROM INSERTED where ....
END
insert into tb2(tb2Id)
select tb3,tid from tb3,inserted i
where tb3.id=i.sid
select @id = id from tb
这样的赋值,随记录行的移动不停给@id重新赋值,所以最终@id的值为最后一行的id值,因此从你看来只执行了最后一条insert x select f1,f2 from inserted 即可