sql >> Base de Datos >  >> RDS >> Oracle

Oracle:¿Cómo creo una tabla que tiene una clave única de incremento automático para la ID?

Puede usar una tabla, una secuencia para generar valores de ID únicos y un disparador.

Por ejemplo:

Mesa:

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

Secuencia:create sequence t1_seq start with 1 increment by 1 nomaxvalue;

Activador:

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;
/