SQL Server 2008 - Fusion Script ne fonctionne pas
-
26-10-2019 - |
Question
Ce script de fusion j'écris ne compilait et je crois avoir la syntaxe correcte.
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
Erreur:
Msg 156, niveau 15, état 1, ligne 1 Syntaxe incorrecte près du mot clé « dans ». Msg 102, niveau 15, état 1, ligne 2 syntaxe incorrecte près de 'ct_value'.
La solution 2
Je compris que je devais le SQL Server 2008 R2 client, mais le serveur est SQL Server 2005.
Autres conseils
Essayez
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);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow