ALTER TRIGGER MyTrigger
ON persons
AFTER INSERT
AS
IF EXISTS(SELECT *
FROM Persons t
INNER JOIN inserted i ON i.LastName <> t.LastName
OR i.FirstName <> t.FirstName
OR i.address <> t.address
OR i.City <> t.City
AND i.PersonID = t.PersonID)
BEGIN
UPDATE p
SET p.LastName = i.LastName,
p.FirstName = i.FirstName,
p.address = i.address,
p.City = i.City
FROM persons AS p
INNER JOIN inserted i ON p.PersonID <> i.PersonID
WHERE p.PersonID = i.PersonID
END
When I try to insert a new column with previous id, that row is getting updated, that's fine. But a new row is also getting inserted which I don't want