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!

How to change the Identity minvalue ?

Christian Pitet 2Nov 14 2023 — edited Nov 14 2023

Hi,

I created a table with APEX and it gives an identity minvalue of 1

Here is the DDL of the table :

CREATE TABLE "GL_TD_SEANCES" 
  (    "ID" NUMBER GENERATED BY DEFAULT ON NULL AS IDENTITY MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER  NOCYCLE  NOKEEP  NOSCALE  NOT NULL ENABLE, 
    "SEA_ID" VARCHAR2(50) COLLATE "USING_NLS_COMP", 
    "SEA_DATE" DATE, 
    "SEA_TYP" VARCHAR2(50) COLLATE "USING_NLS_COMP", 
    "SEA_LIEU" VARCHAR2(50) COLLATE "USING_NLS_COMP", 
    "SEA_NBUSERS" NUMBER, 
    "SEA_RES" NUMBER, 
    "SEA_PART" NUMBER, 
    "SEA_DEC" NUMBER, 
    "SEA_COMMENT" VARCHAR2(255) COLLATE "USING_NLS_COMP", 
    "SEA_DANNUL" VARCHAR2(50) COLLATE "USING_NLS_COMP", 
    "SEA_AMOTIF" VARCHAR2(50) COLLATE "USING_NLS_COMP", 
    "SEA_DCREA" DATE, 
    "SEA_CREAPAR" VARCHAR2(50) COLLATE "USING_NLS_COMP", 
    "SEA_DMODIF" DATE, 
    "SEA_MODIFPAR" VARCHAR2(50) COLLATE "USING_NLS_COMP", 
     PRIMARY KEY ("ID")
 USING INDEX  ENABLE
  )  DEFAULT COLLATION "USING_NLS_COMP" ;

I tried creating the table with the sql command indicating the minvalue of the identity :

CREATE TABLE "GL_TD_SEANCES" 
  (    "ID" NUMBER GENERATED BY DEFAULT ON NULL AS IDENTITY MINVALUE 1000 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER  NOCYCLE  NOKEEP  NOSCALE  NOT NULL ENABLE, 
    "SEA_ID" VARCHAR2(50) COLLATE "USING_NLS_COMP", 
    "SEA_DATE" DATE, 
    "SEA_TYP" VARCHAR2(50) COLLATE "USING_NLS_COMP", 
    "SEA_LIEU" VARCHAR2(50) COLLATE "USING_NLS_COMP", 
    "SEA_NBUSERS" NUMBER, 
    "SEA_RES" NUMBER, 
    "SEA_PART" NUMBER, 
    "SEA_DEC" NUMBER, 
    "SEA_COMMENT" VARCHAR2(255) COLLATE "USING_NLS_COMP", 
    "SEA_DANNUL" VARCHAR2(50) COLLATE "USING_NLS_COMP", 
    "SEA_AMOTIF" VARCHAR2(50) COLLATE "USING_NLS_COMP", 
    "SEA_DCREA" DATE, 
    "SEA_CREAPAR" VARCHAR2(50) COLLATE "USING_NLS_COMP", 
    "SEA_DMODIF" DATE, 
    "SEA_MODIFPAR" VARCHAR2(50) COLLATE "USING_NLS_COMP", 
     PRIMARY KEY ("ID")
 USING INDEX  ENABLE
  )  DEFAULT COLLATION "USING_NLS_COMP" ;

But strangely, the identity min value generated is still indicating a minvalue of 1 !

I tried to alter the table :

ALTER TABLE GL_TD_SEANCES (MODIFY id GENERATED BY DEFAULT AS IDENTITY
(START WITH 10000
INCREMENT BY 1
MAXVALUE 500000000000
CACHE 1
CYCLE)
);

But this time I get an error : ORA-01735: option ALTER TABLE non valide

How to change successfully the Identity minvalue of the table ?

Best regards.

This post has been answered by Dietmar Gabauer-Oracle on Nov 14 2023
Jump to Answer
Comments
Post Details
Added on Nov 14 2023
6 comments
1,386 views