SQL Server 2008 - скрипт слияния не работает
-
26-10-2019 - |
Вопрос
Этот сценарий Merge, который я пишу, не составляет, и я считаю, что у меня есть правильный синтаксис.
MERGE into MyTable ct_current
USING (SELECT '0%' as Description, '0' as ShareAmount) ct_value
ON ct_current.ShareAmount = ct_value.ShareAmount
WHEN MATCHED THEN
UPDATE SET ct_current.Description = '0%'
WHEN NOT MATCHED THEN
INSERT (Description, ShareAmount)
VALUES (ct_value.Description, ct_value.ShareAmount);
GO
Ошибка:
MSG 156, уровень 15, состояние 1, строка 1 Неверный синтаксис возле ключевого слова «в». MSG 102, уровень 15, состояние 1, строка 2 неверный синтаксис вблизи «CT_VALUE».
Решение 2
Я понял, что у меня был клиент SQL Server 2008 R2, но сервер SQL Server 2005.
Другие советы
Пытаться
MERGE MyTable AS ct_current
USING (SELECT '0%' as Description, '0' as ShareAmount) ct_value
ON ct_current.ShareAmount = ct_value.ShareAmount
WHEN MATCHED THEN
UPDATE SET ct_current.Description = '0%'
WHEN NOT MATCHED THEN
INSERT (Description, ShareAmount)
VALUES (ct_value.Description, ct_value.ShareAmount);
Не связан с StackOverflow