2012-03-14 3 views
-1

私は次のようにSQL Serverの2008年に初めてmerge機能を使用しようとしている:マージエラー - SQL

MERGE PriceFeed AS t 
USING Products AS src 
ON t.sku = src.sku 

WHEN MATCHED THEN 
    UPDATE 
    SET src.price = t.price 
; 

をしかし、私は確信して、なぜこのような場合にはエラー"The multi-part identifier "src.price" could not be bound."を取得していませんよ?

フィードデータのSKUは製品テーブルのSKUに一致します。

+0

ur製品表の価格列は? – Teja

+0

@Venkええ、両方のテーブルに価格列があります。 – user1186144

+2

http://msdn.microsoft.com/en-us/library/bb522522.aspxから、テーブルを置いた順序を修正する必要があります: MERGEターゲットAS T USINGソースAS ' – diaho

答えて

0
MERGE PriceFeed AS t 
USING Products AS src 
ON t.sku = src.sku 

WHEN MATCHED THEN 
    UPDATE 
    SET t.price = src.price 
; 

ここMERGE構文を確認してください。。そのほかには、例を挙げて、ここで説明しました。

http://blog.sqlauthority.com/2008/08/28/sql-server-2008-introduction-to-merge-statement-one-statement-for-insert-update-delete/

+0

これは見ていますか?Uターゲット列でソース列を設定していました..それは別の方法であるべきです。 – Teja

+0

簡単な修正、私は正しいと思ったsrcをt(フィード)テーブルと同じに設定しますが、あなたが提案したように周囲を逆にしていますか? – user1186144

+0

あなたが好きなら、私の答えを受け入れる.. – Teja