Я в основном пытаюсь сделать что-то из MYSQL, где это INSERT, ON DUPLICATE и т. Д.
Однако я получаю ошибку с моим синтаксисом 'слияния'.Эта хранимая процедура принимает переменную "@ID", которая является guid, и просматривает таблицу, чтобы увидеть, существует ли она уже - если она есть, вставьте новую запись, в противном случае обновите существующую.Я не могу понять, что здесь не так!
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE usp_DigitalTool_InsertUpdate2
(@ID uniqueidentifier, @TOOL_ID uniqueidentifier, @INPUT_ID uniqueidentifier)
AS
MERGE
INTO DigitalTool as target
USING (SElECT @ID,@TOOL_ID,@INPUT_ID) as source(id, tool_id, input_id)
ON (target.ID = source.id)
when matched then
update
set TOOL_ID = source.tool_id,
INPUT_ID = source.input_id
when not matched then
insert ( ID, TOOL_ID, INPUT_ID)
values ( NEWID(), source.tool_id, source.input_id)
END
GO
Помощь приветствуется.Спасибо!