我想更新表中的值。给定的更新脚本无限期地持续。 你会咨询我,如何优化此更新? 这里是脚本:Oracle - 优化更新
UPDATE rp_dtls e
SET e.C_RNG =(SELECT b.cod
FROM (SELECT rn0.code cod,
a.n_datavalue n_datavalue,
a.c_ins c_ins,
a.related_Account related_Account,
a.d_periodlastday d_periodlastday,
a.N_PACKETINFOID N_PACKETINFOID
FROM (SELECT SUM(t.n_datavalue) n_datavalue,
t.c_ins,
t.related_Account,
t.d_periodlastday,
t.N_PACKETINFOID
FROM rp_dtls t
WHERE t.d_periodlastday = to_date('31.10.2014', 'DD.MM.YYYY')
AND t.n_packetinfoid = (SELECT MAX(N_PACKETINFOID)
FROM rp_dtls
WHERE d_periodlastday =
to_date('31.10.2014', 'DD.MM.YYYY'))
AND t.c_ins IN ('F04000', 'F02205')
GROUP BY t.c_ins,
t.related_Account,
t.d_periodlastday,
t.N_PACKETINFOID,
t.c_ins) a
LEFT JOIN rp_rng rn0
ON a.n_datavalue BETWEEN rn0.val_min AND rn0.val_max) b
WHERE b.c_ins = e.c_ins
AND b.related_Account = e.related_Account
AND b.d_periodlastday = e.d_periodlastday
AND b.N_PACKETINFOID = e.N_PACKETINFOID)**
在此先感谢!
您可以做的第一件事是从子查询select语句中删除不需要的列 – 2014-12-08 08:14:16
感谢您的反馈,但我只能删除一列,我需要加入其他列:( – Elena 2014-12-08 08:43:40
rp_dtls的主键是什么 – psaraj12 2014-12-08 09:49:33