Inserted.【你要得到插入的那列的值】 CREATE TRIGGER [tr_insertzybzfp] ON [dbo].[zybzfpdj] FOR INSERT AS BEGIN IF update(bzje) begin declare @li_lx int declare @li_c int declare @ld_pjzylj numeric(10,2)--省级住院补助累计 declare @ld_sjzylj numeric(10,2)--市级住院补助累计 declare @ld_xjzylj numeric(10,2)--县级住院补助累计 declare @ld_zjzylj numeric(10,2)--乡(镇)级住院补助累计 declare @ld_cjzylj numeric(10,2)--村级住院补助累计 declare @ld_qtzylj numeric(10,2)--其它级住院补助累计
select @li_lx=lx from ddjgzl,inserted where ddjgzl.ddbh=inserted.ddbh select @li_c=@@rowcount if @@error<>0 begin return end if @li_lx=1 --省级 begin update cbryzl_cy with (holdlock) set zylj=isnull(zylj,0)+isnull(Inserted.bzje,0),pjzylj=isnull(pjzylj,0)+isnull(Inserted.bzje,0),zycs=isnull(zycs,0)+isnull(Inserted.bccs,0) from cbryzl_cy,inserted where cbryzl_cy.cybm=inserted.cybm end END END
表test1,字段:a1,b1,c1,d1 表test2,字段:a1,b1,c1,d1 当插入test1时,test2也插入了数据。 CREATE TRIGGER tri_insert ON [dbo].[test1] FOR INSERT AS if @@rowcount=0 return begin insert [dbo].[test2] select a1,b1,c1,d1 from inserted end
select ... from inserted
CREATE TRIGGER [tr_insertzybzfp] ON [dbo].[zybzfpdj]
FOR INSERT
AS
BEGIN
IF update(bzje)
begin
declare @li_lx int
declare @li_c int
declare @ld_pjzylj numeric(10,2)--省级住院补助累计
declare @ld_sjzylj numeric(10,2)--市级住院补助累计
declare @ld_xjzylj numeric(10,2)--县级住院补助累计
declare @ld_zjzylj numeric(10,2)--乡(镇)级住院补助累计
declare @ld_cjzylj numeric(10,2)--村级住院补助累计
declare @ld_qtzylj numeric(10,2)--其它级住院补助累计
select @ld_pjzylj=0,@ld_sjzylj=0,@ld_xjzylj=0,@ld_zjzylj=0,@ld_cjzylj=0,@ld_qtzylj=0
select @li_lx=lx
from ddjgzl,inserted
where ddjgzl.ddbh=inserted.ddbh
select @li_c=@@rowcount
if @@error<>0
begin
return
end if @li_lx=1 --省级
begin
update cbryzl_cy with (holdlock) set zylj=isnull(zylj,0)+isnull(Inserted.bzje,0),pjzylj=isnull(pjzylj,0)+isnull(Inserted.bzje,0),zycs=isnull(zycs,0)+isnull(Inserted.bccs,0)
from cbryzl_cy,inserted
where cbryzl_cy.cybm=inserted.cybm
end
END
END
表test2,字段:a1,b1,c1,d1
当插入test1时,test2也插入了数据。
CREATE TRIGGER tri_insert ON [dbo].[test1]
FOR INSERT
AS
if @@rowcount=0 return
begin
insert [dbo].[test2]
select a1,b1,c1,d1
from inserted
end
select ... from inserted