繁体   English   中英

更新多行 SQL

[英]Updating multiple rows SQL

我试图搜索和搜索,但我找不到匹配的答案。
我需要更新数据库中的 300 行,查询似乎变得越来越长。 我知道我可以以某种方式制作临时表,但我被卡住了。
下面是表格的例子

ProductID | (Old)ArticleNumber | (New)ArticleNumber
268687    |      EXRO300       |       5709070
268702    |      EXS50030      |       1595831
268728    |      EX62111       |       1562993
268730    |      EXRT25        |       1009451
268733    |      EX240220V     |       7800100
268737    |      EX600         |       1875928
..........|....................|.................

然后像 300 行。

所以,旧货号需要用新货号代替……

如果您在 db 的另一个表中有New Article Nr ,请通过ProductID加入它并将它们设置为:

UPDATE oldProductTbl
SET oldProductTbl.ArticleNumber = newProductTbl.ArticleNumber
FROM Products1 oldProductTbl
    JOIN Product2 newProductTbl 
    ON oldProductTbl.ProductId = newProductTbl.ProductId

使用此查询更新临时表中的数据

 UPDATE
     Table_A
  SET
    Table_A.(old)ArticleNumber = Table_A.(New)ArticleNumber,
 FROM
     Some_Table AS Table_A

我用新的商品编号和产品 ID 创建了一个新的临时表。

CREATE TABLE #NewArticle(
ProductID int,
ArticleNumber char(30) )

然后我使用插入表来填充它。

insert into #NewArticle(ProductID,NewArticle)
VALUES ('268687'),('5709070'),
('269364','HA61451CTH'),
('269393','5665237'),
........

然后这一切都更新了。

update tblProduct
set NewArticle = #NewArticle.NewArticle
from tblProduct
inner join #NewArticle on tblproduct.ProductID = #NewArticle.ProductID

好的! 非常感谢!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM