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

Brug af sekventielle værdier for den primære nøgle i en INSERT-forespørgsel

Hvorfor laver du ikke bare en trigger for din sekvens som denne:

Sekvens:

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

Udløser:

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;

Triggeren vil automatisk få den næste værdi/id på hver indsættelse (som auto_increment i mysql).



  1. Flere en til mange relationer i GORM

  2. Skriv oracle DB-visning baseret på forskellig kolonnetidsstempelforskel

  3. PHP asynkron mysql-forespørgsel

  4. orakel-id for dvale er for lang ORA-00972