首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于excel数据的SQL脚本更新表

基于excel数据的SQL脚本更新表
EN

Stack Overflow用户
提问于 2014-11-04 09:09:50
回答 2查看 1.7K关注 0票数 0

我有以下三张表:

产品: IDProduct,ProductPartNumber

手册: IDManual

ProductManual: IDProduct,IDManual

我必须根据包含以下两列的数据列表(包含2-3000项)更新产品和手册之间的链接: ProductPartNumber,NewProductPartNumber。

我想要完成的是遍历ProductManual表,将IDProduct对应于数据列表中的ProductPartNumber,将其替换为与NewProductPartNumber对应的IDProduct。

我该怎么做?我想我应该在一个事务中这样做,因为这个脚本会改变生产数据库,所以它会回滚,以防意外的事情发生。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-11-04 09:34:13

Way1:使用sql,您可以为数据列表创建一个临时表,并运行下面的sql:

开始转变

创建表#TempProductPartNumber(ProductPartNumber INT,NewProductPartNumber INT) --将数据列表插入到这个临时表中

更新产品集Product.ProductPartNumber = #TempProductPartNumber.NewProductPartNumber从产品内部连接ProductManual ON Product.IDProduct = ProductManual.IDProduct内部连接#TempProductPartNumber ON #TempProductPartNumber.ProductPartNumber = Product.ProductPartNumber

提交TRAN

Way2:获取产品和ProductManual的所有数据,以同样的方式使用linq更新数据,并将数据更新回DB。

票数 2
EN

Stack Overflow用户

发布于 2014-11-04 09:39:13

还可以使用excel中的一个公式为每一行创建一个更新脚本:

代码语言:javascript
复制
="UPDATE Product p SET p.ProductPartNumber = " & A2 & " WHERE p.ProductPartNumber = " & A1

然后

代码语言:javascript
复制
="UPDATE ProductManual m SET m.IDProduct= " & A2 & " WHERE m.IDProduct= " & A1

然后运行所有行

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26731292

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档