create trigger tri_tb_insert
on t1
for insert
as
begin
insert t2 select * from inserted
end
go如上(感谢FlySQL提供),如果 t1出现有重复的数据自动跳过到下一条,能不能做到?
on t1
for insert
as
begin
insert t2 select * from inserted
end
go如上(感谢FlySQL提供),如果 t1出现有重复的数据自动跳过到下一条,能不能做到?
??
怎么判断重复,是不是要所有字段比较
create trigger tri_tb_insert
on t1
for insert
as
begin
insert t2 select * from inserted a where not exists(select 1 from t1 where id<>a.id and col1=a.col1)
end
go
CREATE TRIGGER tr_test ON t1
INSTEAD OF INSERT
AS
SET XACT_ABORT ON
BEGIN TRAN
INSERT t1
SELECT *
FROM INSERTED a
EXCEPT
SELECT *
FROM t1
INSERT t2
SELECT *
FROM INSERTED a
EXCEPT
SELECT *
FROM t1
COMMIT
GO
如果没有编号字段将插入t1的记录与t1中已有记录进行区分,则必须使用inseat of 触发器而不能使用for触发器,除非你可以采用到t2表中查找有无相同记录的方法.