我没有试:CREATE TRIGGER [TRI_name] ON dbo.table
FOR INSERT
ASupdate t_b set NUM2 = inserted.MUN1
where t_b.ID2 in (select ID1 from inserted)
insert into t_b (ID2,NUM2)
select ID1,MUN1 from inserted where not exists (select * from t_b where ID2=inserted.ID1)return
FOR INSERT
ASupdate t_b set NUM2 = inserted.MUN1
where t_b.ID2 in (select ID1 from inserted)
insert into t_b (ID2,NUM2)
select ID1,MUN1 from inserted where not exists (select * from t_b where ID2=inserted.ID1)return
insert into t_b (ID2,NUM2)
select ID1,MUN1 from inserted where inserted.ID1 not exists (select ID2 from t_b )
错误107:列前缀“inserted”与查询中所用的表名或别名不匹配
才是错误的!
FOR INSERT
ASDECLARE @ID1 INTEGER
SELECT @ID1 = ID1 FROM INSERTEDIF EXISTS(SELECT * FROM t_b WHERE ID2 = @ID1)
UPDATE t_b SET NUM2 = NUM2 + i.NUM1 FROM t_b tb INNER JOIN INSERTED i ON tb.ID2 = i.ID1
ELSE
INSERT t_b SELECT * FROM INSERTED
FOR INSERT, UPDATE, DELETE
AS
DECLARE @num1 int
SELECT @num1 = NUM1 from inserted
update t_b set NUM2=@num1
where t_b.ID2 in (select ID1 from inserted)insert into t_b (ID2,NUM2)
select ID1,NUM1 from inserted where not exists (select * from t_b where ID2=inserted.ID1)return我搞定了谢!