Нещо като това:
CREATE TRIGGER MyTrigger ON dbo.MyTable
AFTER INSERT
AS
if exists ( select * from table t
inner join inserted i on i.name=t.name and i.date=t.date and i.id <> t.id)
begin
rollback
RAISERROR ('Duplicate Data', 16, 1);
end
go
Това е само за вмъкване, може да искате да помислите и за актуализации.
Актуализиране
По-прост начин би бил просто да създадете уникално ограничение в таблицата, това също ще го наложи за актуализации и ще премахне необходимостта от задействане. Просто направете:
ALTER TABLE [dbo].[TableName]
ADD CONSTRAINT [UQ_ID_Name_Date] UNIQUE NONCLUSTERED
(
[Name], [Date]
)
и тогава ще бъдете в бизнеса.