Oracle Apex - Sequence Assignment - Resolution of the ORA-01400

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 ?

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;

Powered by ComboStrap