Discussions
Categories
- 197.1K All Categories
- 2.5K Data
- 546 Big Data Appliance
- 1.9K Data Science
- 450.7K Databases
- 221.9K General Database Discussions
- 3.8K Java and JavaScript in the Database
- 31 Multilingual Engine
- 552 MySQL Community Space
- 479 NoSQL Database
- 7.9K Oracle Database Express Edition (XE)
- 3.1K ORDS, SODA & JSON in the Database
- 555 SQLcl
- 4K SQL Developer Data Modeler
- 187.2K SQL & PL/SQL
- 21.3K SQL Developer
- 296.3K Development
- 17 Developer Projects
- 139 Programming Languages
- 293K Development Tools
- 110 DevOps
- 3.1K QA/Testing
- 646.1K Java
- 28 Java Learning Subscription
- 37K Database Connectivity
- 158 Java Community Process
- 105 Java 25
- 22.1K Java APIs
- 138.2K Java Development Tools
- 165.3K Java EE (Java Enterprise Edition)
- 19 Java Essentials
- 162 Java 8 Questions
- 86K Java Programming
- 81 Java Puzzle Ball
- 65.1K New To Java
- 1.7K Training / Learning / Certification
- 13.8K Java HotSpot Virtual Machine
- 94.3K Java SE
- 13.8K Java Security
- 205 Java User Groups
- 24 JavaScript - Nashorn
- Programs
- 466 LiveLabs
- 39 Workshops
- 10.2K Software
- 6.7K Berkeley DB Family
- 3.5K JHeadstart
- 5.7K Other Languages
- 2.3K Chinese
- 175 Deutsche Oracle Community
- 1.1K Español
- 1.9K Japanese
- 233 Portuguese
Populating column in one table with a PK from another with a Trigger

Hi All,
I’m trying to populate a column on one table with the primary key from a column on another table that is automatically created when a new row is added.
TABLE_1 automatically generates a primary key called PROJECT_ID when a new row is created. I’ve built a trigger to insert data from TABLE_3 into TABLE_2 when a new row is created on TABLE_1. TABLE_2 also has a column called PROJECT_ID and when the data from TABLE_3 populates TABLE_2, I want the PROJECT_ID on TABLE_2 to match the PROJECT_ID from the newly created row on TABLE_1.
I’m trying to do this with 2 insert into statements but only the first one seems to work. Any advice on how to do this? Thanks!
Here is my code:
create or replace trigger "Trigger_T1"
BEFORE
insert on "TABLE_1"
for each row
begin
insert into TABLE_2
(MILESTONE_DESCRIPTION)
select MILESTONE
from TABLE_3;
insert into TABLE_2
(PROJECT_ID)
select PROJECt_ID
from TABLE_1;
end;
Answers
-
Hi.
It looks like the second insert does not work because you are using a select over the same table that is triggering the code, and as the trigger is Before insert, the value has not been inserted when the trigger is executed.
if you are doing this in apex, maybe you could create a plsql process on "After Submit" section, after the ApplyMRU Process, and there insert the id on table 2, using the returned value of the pk item on page.
Hope it helps
Best Regards.