Oracle
 sql >> Database >  >> RDS >> Oracle

Utilizzo di valori sequenziali per la chiave primaria in una query INSERT

Perché non crei un trigger per la tua sequenza in questo modo:

Sequenza:

CREATE SEQUENCE LD_USER_ROLE_SEQ
    INCREMENT BY 1 START WITH 1 NOMAXVALUE NOMINVALUE NOCYCLE NOCACHE NOORDER

Attivazione:

CREATE TRIGGER LD_USER_ROLE_INSERT BEFORE INSERT ON LD_USER_ROLE
    REFERENCING NEW AS NEW OLD AS OLD FOR EACH ROW
BEGIN
    SELECT LD_USER_ROLE_SEQ.NEXTVAL INTO :NEW.USER_ROLE_ID FROM DUAL;
END;

Il trigger otterrà automaticamente il valore/id successivo su ogni inserto (come auto_increment in mysql).