我试图搜索和搜索,但我找不到匹配的答案。
我需要更新数据库中的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行。
所以,旧的文章数需要被新的......替换。
答案 0 :(得分:0)
如果您在db中的另一个表中有New Article Nr
,请通过ProductID
加入,并将它们设置为:
UPDATE oldProductTbl
SET oldProductTbl.ArticleNumber = newProductTbl.ArticleNumber
FROM Products1 oldProductTbl
JOIN Product2 newProductTbl
ON oldProductTbl.ProductId = newProductTbl.ProductId
答案 1 :(得分:0)
使用此查询更新临时表中的数据
UPDATE
Table_A
SET
Table_A.(old)ArticleNumber = Table_A.(New)ArticleNumber,
FROM
Some_Table AS Table_A
答案 2 :(得分:0)
我使用新的文章编号和ProductID创建了一个新的临时表。
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
尼斯!非常感谢!