2011-01-27 3 views
0

Этот скрипт слияния, который я пишу, не компилируется, и я считаю, что у меня правильный синтаксис.SQL Server 2008 - Сценарий слияния не работает

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, Level 15, State 1, Line 1 Неправильный синтаксис около ключевого слова 'в'. Msg 102, Level 15, State 1, Line 2 Неверный синтаксис рядом с 'ct_value'.

ответ

0

я понял, что я имел R2 клиент SQL Server 2008, но сервер SQL Server 2005.

+0

ха-ха это случилось со мной также. такой модный момент. – arviman

1

Попробуйте

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); 
+0

Спасибо за помощь :) – contactmatt

Смежные вопросы