将大量数据从一列传输到另一列的最有效方法?

时间:2011-09-13 08:51:51

标签: sql-server tsql

我目前有两个表,一个依赖于另一个我要删除的表。 假设表格是产品员工,每个表格中有 800,000 行。

Employee表有一个ProductID,其中有一个ProductRefID,我需要在我的应用程序中引用它。这样做的方法是加入Product表,并以这种方式引用ProductRefID。

但是,我现在要更改此项,以便ProductRefID是Employee表上的一列,然后将每个Product行的“ProductRefID”传输到Employee行的“ProductRefID”。

撰写此查询的最有效方法是什么?

(我知道这听起来很愚蠢,但这仅仅是一个例子,它实际上并不是我要特别做的事情。)

1 个答案:

答案 0 :(得分:5)

这样的东西?

alter table Employee add ProductRefID INT


update e
set ProductRefID = p.ProductRefID
from Employee e
join 
Product p
on e.ProductID = p.id