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'.

È stato utile?

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
scroll top