SQL Server 2008: el script de fusión no funciona
-
26-10-2019 - |
Pregunta
Este script de fusión que estoy escribiendo no está compilando y creo que tengo la sintaxis correcta.
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
Error:
MSG 156, Nivel 15, Estado 1, Línea 1 Sintaxis incorrecta cerca de la palabra clave 'Into'. MSG 102, Nivel 15, Estado 1, Línea 2 Sintaxis incorrecta cerca de 'CT_Value'.
Solución 2
Me di cuenta de que tenía el cliente SQL Server 2008 R2, pero el servidor es SQL Server 2005.
Otros consejos
Probar
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);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow