Skip to Main Content

APEX

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!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

Oracle Apex - Create Procedure to Insert Records from Another Table

SANPATOct 15 2021

Dear Friends
We want to insert data from A table to B table. How it will be written in Oracle Apex Forms.
In the form 12c i was writing the code in the following way, now in apex how to write.
Create Procedure Test1 as
Declare
Cursor a1 is select empno,name from employee;
begin
delete from test1;
commit;
for i in a1
loop
insert into test1(empno,name)
values (i.empno,i.name);
end loop;
COMMIT_FORM;
end;

sanjay

This post has been answered by Mike Kutz on Oct 15 2021
Jump to Answer

Comments

Mike Kutz

It looks like table TEST1 is being used as a temp table.
In Forms, this should probably have been a GTT.
GTTs don't work in APEX dye to Connection Pooling. You'd use a Collection instead.
But, I'm just guessing about the purpose of TEST1.
(PS - you should probably have just done an INSERT... SELECT instead of parsing a cursor in a loop)

SANPAT

Dear Mike Kutz
I want to delete all the old records from test1. then i want to update the table with the latest Query data from test table. can you suggest how to insert the records using the procedure in Oracle Apex .
Delete all Data from A Table
Query on Table B and get the data
Insert the Query data into A Table.
Sanjay

Mike Kutz
Answer

APEX is stateless. It automatically calls COMMIT as needed (or ROLLBACK ).
I'd keep it simple, Sanjay (K.I.S.S.)

BEGIN
  DELETE FROM TEST1;

  INSERT INTO TEST1 (empno,name)
    SELECT empno, name FROM EMPLOYEE;
END;
Marked as Answer by SANPAT · Oct 17 2021
SANPAT

Dear Mike Kutz
Thanks , your given Query is perfectly runing on Sql Command, but the same Query when i update in the Form at server side condition , it's not working . it truncate the data but not updating with fresh data from the called table.
image.png
image.pngKindly sugget .
Sanjay

AndyH

As you are running this from a Dynamic Action it will be running in a different database session to that of your page. If your page hasn't committed it's data, the session in your DA will not see that data.
Is there a particular reason you are doing this work through a DA and not through a process?

SANPAT

Dear AndyH
I am new to Oracle Apex and Learning , Can you please give me some tips , how to take such query from Process.
Its getting executed properly , but i don't know how to display the message once the Procedure Query will update the table . Can you please suggest.
Sanjay

1 - 6

Post Details

Added on Oct 15 2021
6 comments
3,683 views