sql >> Databáze >  >> RDS >> Oracle

Použití sekvenčních hodnot pro primární klíč v dotazu INSERT

Proč prostě nevytvoříte spouštěč pro vaši sekvenci, jako je tento:

Sekvence:

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

Spouštěč:

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;

Spouštěč automaticky získá další hodnotu/id při každém vložení (jako auto_increment v mysql).



  1. MySQL - PŘIPOJTE SE a NEBO b

  2. SQL Náhodné řádky ve velké tabulce (s klauzulí where)

  3. Jak nakonfiguruji náš MySQL ReplicationDriver pro náš zdroj dat JBoss 7?

  4. ClusterControl:Úvod do nového monitoru dotazů