Пытаюсь сделать запрос merge into, мне кажется у меня старая версия бд:
MERGE INTO [dbo].[CinemaUsers] t
USING (SELECT * FROM OPENJSON('[{"ID":1,"UserName":"Администратор","LoweredUserName":"администратор","DisplayName":"","Inn":"","PinCode":"","Enabled":true,"Deleted":false,"Guid":"f052b53f-d6ec-45c5-8734-0e0dd7b0d2f1","serverId":null}]')
with ([ID] int, [UserName] nvarchar, [Enabled] bit, [Deleted] bit, [Guid] uniqueidentifier, [LoweredUserName] nvarchar, [DisplayName] nvarchar, [Inn] nvarchar, [PinCode] nvarchar, [CardCode] bigint, [ExternalId] int, [serverId] int))
j ON (t.[ID] = j.[serverId])
WHEN MATCHED THEN update set t.[UserName] = j.[UserName], t.[Enabled] = j.[Enabled], t.[Deleted] = j.[Deleted], t.[Guid] = j.[Guid], t.[LoweredUserName] = j.[LoweredUserName], t.[DisplayName] = j.[DisplayName], t.[Inn] = j.[Inn], t.[PinCode] = j.[PinCode], t.[CardCode] = j.[CardCode], t.[ExternalId] = j.[ExternalId]
WHEN NOT MATCHED THEN INSERT ([UserName], [Enabled], [Deleted], [Guid], [LoweredUserName], [DisplayName], [Inn], [PinCode], [CardCode], [ExternalId]) values (j.[UserName], j.[Enabled], j.[Deleted], j.[Guid], j.[LoweredUserName], j.[DisplayName], j.[Inn], j.[PinCode], j.[CardCode], j.[ExternalId])
output $action, inserted.ID, j.[ID];
Получаю ошибку:
Неправильный синтаксис около ключевого слова "with". Если эта инструкция является обобщенным табличным выражением, предложением xmlnamespaces или предложением в контексте отслеживания изменений, предыдущую инструкцию необходимо завершить точкой с запятой.
Вроде как таблицу надо обновить до 1003, но я не помню как или тут что-то другое?