Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Oracle - Como crio uma tabela que possui uma chave exclusiva de autoincremento para o ID


Você pode usar uma tabela, uma sequência para gerar valores de ID exclusivos e um gatilho.

Por exemplo:

Mesa:
CREATE Table FITNESS_BMR
(
ID NUMBER NOT NULL PRIMARY KEY,
VALUE FLOAT NOT NULL,
VALUE_DATE DATE NOT NULL
);

Sequência:create sequence t1_seq start with 1 increment by 1 nomaxvalue;

Acionar:
CREATE OR REPLACE TRIGGER test_trigger
BEFORE INSERT
ON FITNESS_BMR
REFERENCING NEW AS NEW
FOR EACH ROW
BEGIN
SELECT t1_seq.nextval INTO :NEW.ID FROM dual;
END;
/