SQL Server 2008 - Merge script non funziona
-
26-10-2019 - |
Domanda
Questo script fusione sto scrivendo non è la compilazione e credo di avere la sintassi corretta.
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
Errore:
Msg 156, livello 15, stato 1, riga 1 Sintassi non corretta in prossimità della parola chiave 'in'. Msg 102, livello 15, stato 1, riga 2 Sintassi non corretta in prossimità 'ct_value'.
Soluzione 2
mi sono reso conto che avevo il client di SQL Server 2008 R2, ma il server è SQL Server 2005.
Altri suggerimenti
Prova
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);
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow