我需要做以下
UPDATE TABLE2 t2
SET t2.product_id = (select t1.product_id from
table1 t1 where t1.matching_id = t2.matching_id)
除了TABLE2有2700万条记录。 product_id是一个新添加的列,因此会向其填充数据。 我可以使用游标,将我在TABLE2中的记录集分解为一个相当小的数字,但是有2700万条记录,我不确定最好的方法。 Pl建议,即使这意味着将我的数据导出到excel。
更新 - 匹配的列也被编入索引。
答案 0 :(得分:1)
我唯一能做的就是替换CREATE TABLE AS
CREATE TABLE table2_new AS
SELECT t2.* (less product_id), t1.product_id
FROM table1 t1
JOIN table2 t2
ON t1.matching_id = t2.matching_id
但稍后您必须手动添加CONSTRAINTS
,删除table2
并替换table2_new
答案 1 :(得分:0)
update (select t1.product_id as old_product_id, t2.product_id as new_product_id
from table1 t1
join table2 t2 on (t1.matching_id = t2.matching_id)) t
set t.new_product_id = t.old_product_id