creat trigger tri_name on table_1 for insert as insert table_2(b,c) select a,a*10 from inserted inserted,deleted 是逻辑表,只有执行数据更新操作(insert,update,delete)才存在的。当更新操作执行完了,就消失了。
CREATE TRIGGER 名1 ON dbo.表1 FOR INSERT AS insert 表2 (b,c) select a,a*10 from inserted
若是后面还想加入从别的表茶来的数据怎么办 可以再用一个SELECT 吗
不能了。如果你要加入的和原来插入的有管理的话,可以这样解决: creat trigger tri_name on table_1 for insert as insert table_2(b,c) select a,a*10 from inserted,table_3 where table_3.a=inserted.a 如果没有关系的话,这样可以解决 creat trigger tri_name on table_1 for insert as insert table_2(b,c) select a,a*10 from inserted update table_2 set table_2.d=table_3.d from table_3,table_2 where table_2.b=inserted.a and table_2.k=table_3.k
CREATE TRIGGER 名1 ON dbo.表1 FOR INSERT AS insert 表2 (b,c,e) select a,a*10,(select sum(字段) from 表3) from inserted
大力的方法是可行的。 在大家的帮助下,我终于写出了如下触发器,抛砖引玉CREATE TRIGGER tr ON pjinf FOR iNSERT AS BEGIN declare @mm int,@nn int set @mm=(select count(*) from ptpr) set @nn=1 while (@nn<=@mm) begin insert prinf (pid,prid,pprname) select pid,pid*100+@nn,(select pprname from ptpr where pprid=@nn) from inserted set @nn=@nn+1 end END马上结贴
as
insert table_2(b,c) select a,a*10 from inserted
inserted,deleted 是逻辑表,只有执行数据更新操作(insert,update,delete)才存在的。当更新操作执行完了,就消失了。
CREATE TRIGGER 名1 ON dbo.表1
FOR INSERT
AS
insert 表2 (b,c) select a,a*10 from inserted
可以再用一个SELECT 吗
creat trigger tri_name on table_1 for insert
as
insert table_2(b,c) select a,a*10 from inserted,table_3 where table_3.a=inserted.a
如果没有关系的话,这样可以解决
creat trigger tri_name on table_1 for insert
as
insert table_2(b,c) select a,a*10 from inserted
update table_2 set table_2.d=table_3.d from table_3,table_2 where table_2.b=inserted.a and table_2.k=table_3.k
FOR INSERT
AS
insert 表2 (b,c,e) select a,a*10,(select sum(字段) from 表3) from inserted
在大家的帮助下,我终于写出了如下触发器,抛砖引玉CREATE TRIGGER tr
ON pjinf
FOR iNSERT
AS
BEGIN
declare @mm int,@nn int
set @mm=(select count(*) from ptpr)
set @nn=1
while (@nn<=@mm)
begin
insert prinf (pid,prid,pprname) select pid,pid*100+@nn,(select pprname from ptpr where pprid=@nn) from inserted
set @nn=@nn+1
end
END马上结贴