0

我有一個更新查詢(參數化查詢,表值參數)

SQL表庫存有多少列其中兩個是 LocalSKU(PK)爲varchar(200)NOT NULL 庫存量INT

而且 一個EXCEL數據只有兩列 LocalSKU和QOH

我想實現一個查詢,我想根據LocalSKU匹配兩個數據,如果他們匹配,查詢應該更新QOH。如果他們不匹配,什麼都不做。

我wriiten此查詢

      SqlCommand sqlcmd = new SqlCommand(@"MERGE Inventory AS target 
          USING (select LocalSKU, QOH from @source) as source 
          ON (source.LocalSKU = target.LocalSKU) 
          WHEN MATCHED THEN 
          UPDATE SET QOH = source.QOH 
             WHEN NOT MATCHED THEN 
          INSERT (QOH) 
          VALUES (source.QOH);", sqlconn); 

它不工作。請指導我如何實現這一點。

例子將不勝感激。

+0

爲什麼你使用合併,如果你只想在他們匹配時採取行動? – attila

回答

0
     SqlCommand sqlcmd = new SqlCommand(@"MERGE Inventory AS target 
          USING (select LocalSKU,QOH, Integer3 from @source) as source 
          ON (source.LocalSKU = target.LocalSKU) 
         WHEN MATCHED THEN 
          UPDATE SET Integer3 = source.QOH;", sqlconn);