Frage

Dieses Zusammenführungsskript, das ich schreibe, kompiliert nicht und ich glaube, ich habe die richtige Syntax.

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

Fehler:

MSG 156, Stufe 15, Status 1, Zeile 1 Falsche Syntax in der Nähe des Schlüsselworts 'In'. MSG 102, Stufe 15, Status 1, Zeile 2 Falsche Syntax in der Nähe von 'ct_value'.

War es hilfreich?

Lösung 2

Ich habe festgestellt, dass ich den SQL Server 2008 R2 -Client hatte, aber der Server ist SQL Server 2005.

Andere Tipps

Versuchen

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);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top