Код Билла Карвина почти правильный.Я сделал необходимые изменения.Игра со значениями переменных позволит вам увидеть это в действии.Таблица:
CREATE TABLE [dbo].[employee](
[ID] [int] NULL,
[Name] [char](20) NULL,
[Address] [char](20) NULL,
[Phone] [int] NULL
) ON [PRIMARY]
Код:
DECLARE @ID int, @NAME char(20), @ADDRESS char(20), @PHONE int
SET @ID=2
SET @NAME='Jenny'
SET @ADDRESS='11 My St'
SET @PHONE=228326
MERGE Employee AS target
USING (SELECT @ID, @NAME, @ADDRESS, @PHONE) AS source (ID, Name, Address, Phone)
ON (target.ID = source.ID)
WHEN MATCHED THEN
UPDATE SET NAME = source.Name,
ADDRESS = source.Address,
PHONE = source.Phone
WHEN NOT MATCHED THEN
INSERT (ID, NAME, ADDRESS, PHONE)
VALUES (source.ID, source.Name, source.Address, source.Phone);