sql >> Databasteknik >  >> RDS >> Oracle

Använder sekventiella värden för primärnyckeln i en INSERT-fråga

Varför skapar du inte bara en trigger för din sekvens så här:

Sekvens:

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

Utlösare:

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;

Utlösaren kommer automatiskt att få nästa värde/id på varje infogning (som auto_increment i mysql).



  1. php slumpmässiga mysql-data

  2. Skapa flera sidor från sql-fråga

  3. Citerar kolumnnamn med NHibernate och PostgreSQL

  4. Hur felsöker man postgresql lagrade procedurer?