About
When you create an application from a table with a primary key, you expect that Apex has an pre-build option to create and manage the sequence of this column.
But it's not the case. Then when you want insert a new row in your table, you will have this error :
ORA-01400: cannot insert NULL into ("QS_APEX"."DEMO_CUSTOMER"."CUSTOMER_ID")
Error Unable to process row of table DEMO_CUSTOMER.
How to resolve this error ?
Articles Related
How to
You have to create manually the link between the primary key and the sequence with a trigger as you can see below in the admin schema that is delivered with the sample application.
Go to the Workshop, create a sequence and add a trigger as this one below :
Code of the Trigger “INSERT_DEMO_CUST” :
create or replace TRIGGER "INSERT_DEMO_CUST"
BEFORE INSERT ON demo_customers
FOR EACH ROW
DECLARE
cust_id number;
BEGIN
SELECT demo_cust_seq.nextval
INTO cust_id
FROM dual;
:new.CUSTOMER_ID := cust_id;
END;