You might consider adding a new “updated” column (Flag) that has a filault value of NULL (or 0, I am preffer NULL) for your table, and using criticism of the dates you need to update, you can update the data group by group in the same way as described by Kombain, after updating a data group, you can affect the value 1 on the “updated” flag in your data group.
As an example, you can start by creating data groups, let them consider that criticism of the groups is the year. so let's start processing the data year after year.
- Create a temporary table of year 1:
CREATE TABLE updated_rows AS SELECT columns... FROM original_table PARITION (2001) WHERE YEAR = 2001 ...;
2. Complete the original (optional) section
ALTER TABLE original_table DROP PARTITION 2001;
3. Insert updated rows back
INSERT /*+append*/ INTO original_table(columns....,updated) SELECT columns...,1 FROM updated_rows;
We hope this helps you process the data step by step to prevent a single update of all the data in the table. You can consider the cursor, which cycle for many years.
Youssef daoui
source share