1、构建临时表进行主键关联更新
需求:T1表有千万级别的数据量,需要更新这个表的字段a,b满足2个条件的记录。
做法:一般业务会将条件通过excel表格提供给开发,那么开发首先需要将这个excel表格的内容插入到临时表T2中,考虑到a,b都不是主键,那么需要将a,b转化成主键后再插入到T2表中,T2表中还可以保存更新前的数据,方便做数据回滚,T2表中有数据后,就可以执行下面脚本进行更新 *** 作:
ps:c,d是需要更新的 *** 作,e,f是条件。必须强调的是id必须是主键
1、构建临时表进行主键关联更新
需求:T1表有千万级别的数据量,需要更新这个表的字段a,b满足2个条件的记录。
做法:一般业务会将条件通过excel表格提供给开发,那么开发首先需要将这个excel表格的内容插入到临时表T2中,考虑到a,b都不是主键,那么需要将a,b转化成主键后再插入到T2表中,T2表中还可以保存更新前的数据,方便做数据回滚,T2表中有数据后,就可以执行下面脚本进行更新 *** 作:
ps:c,d是需要更新的 *** 作,e,f是条件。必须强调的是id必须是主键
1、修改表第1行和第1列用来定位数据库中的位置。2、单元格为空或与数据库的值相同,则不修改数据库中的数据,即保留数据库原值。
3、如果单元格的值与数据库的值不一样,则替换数据库单元格的值。
UPDATE A
SET A1 = t2.B2 ,
A2 = t2.C1
FROM A INNER JOIN (
SELECT B.B1,B.B2,C.C1
FROM B left join C on B.B3 = C.C3) t2
ON A.A3 = t2.B1
WHERE A.A4 = 1
UPDATE oaaccounts
SET F_UseType = t2.F_Type
FROM oaaccounts INNER JOIN OaPayOnline t2
ON F_Order_Id = t2.acid
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)