我需要对列值进行批量更新。如果有问题,我需要能够将该列恢复到它以前的值。所以我将这些值备份到一个临时表中。
顺便说一句,我使用的是Oracle。
CREATE TABLE tmp_trial_date_backup AS SELECT cust_id, trial_days FROM customer
WHERE (trial_days = 0 or trial_days = -99) 随后,我将执行更新。
UPDATE customer SET trial_days = 1 WHERE (trial_days = 0 or trial_days = -99)我的任务是..。如何从我创建的tmp表中恢复列值?
发布于 2010-11-02 23:12:16
最后,我做了以下工作。
UPDATE customer c SET trial_days = (SELECT trial_days from tmp_trial_days_backup
where tmp_trial_days_backup.cust_id = customer_bond.cust_id)
WHERE EXISTS (SELECT 1 from tmp_trial_days_backup tmp WHERE tmp.cust_id = c.cust_id)https://stackoverflow.com/questions/4076748
复制相似问题