質問

私が書いているこのマージスクリプトはコンパイルされておらず、正しい構文があると思います。

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

エラー:

MSG 156、レベル15、状態1、行1は、キーワード「Into」の近くの誤った構文。 MSG 102、レベル15、状態1、行2は、「CT_VALUE」近くの誤った構文。

役に立ちましたか?

解決 2

SQL Server 2008 R2クライアントがあることに気付きましたが、サーバーはSQL Server 2005です。

他のヒント

試す

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);
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top