Skip to Main Content

SQL & PL/SQL

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

How to use insert with update?

User_2TTDAJul 31 2022

There are two tables in Oracle SQL Developer that need to be updated with the amounts of the subscribers' invoices, from values ​​from the INVOICE_ADJUSTMENT table and if the subscriber is not in the base, it must be included.

The main table that I need to update is the INVOICE_SUBSCRIBE where it has the fields (SUBSCRIBER, PLAN, VALUE) and the other one from where I will bring the info is the AJUSTE_INVOICE that has the fields (SUBSCRIBER, PLAN, NEW_VALUE).

I managed to do it in two parts with INSERT INTO and then UPDATE, but the idea is to make a single code and also I need to update the same table with ~300 million records and it is not possible to run the entire base at once. How can I sketch the bulk update routine/sql?

INSERT INTO INVOICE_SUBSCRIBER(COD_SUBSCRIBER, COD_PLAN)
SELECT
A.COD_SUBSCRIBER
, A.COD_PLAN
FROM INVOICE_ADJUSTMENT A
LEFT JOIN INVOICE_SUBSCRIBER B
ON A.COD_SUBSCRIBER = B.COD_SUBSCRIBER
WHERE B.COD_SUBSCRIBER IS NULL

AND AFTER RUNNING THE INSERT, I MAKE THE UPDATE:

INVOICE UPDATE_SUBSCRIBER
SET INVOICE_VALUE = NEW_VALUE
FROM INVOICE_ADJUSTMENT A
WHERE A.COD_SUBSCRIBER = INVOICE_SUBSCRIBER.COD_SUBSCRIBER

Comments

Timo Hahn

You should use commit. The commit is only executed in the task flow which holds the transaction which is the parent task flow. If a sub task flow commits nothing happens and the changes are be committed when the parent commits.  If nothing has changes nothing happens.

If you use a rollback the parent has to rollback his changes too, which is not what you want to do.

Timo

Zlatko Sirotic

When using bounded task flow that use shared transactions ...

Which settings has your taskflow, perhaps:

Shared Data Control Scope + Use Existing Transaction if possible ?

Regards,

Zlatko

1 - 2

Post Details

Added on Jul 31 2022
2 comments
1,655 views