Oracle
 sql >> Base de données >  >> RDS >> Oracle

Clé primaire d'identité générée automatiquement par Oracle SQL

Les colonnes d'identité sont une fonctionnalité prise en charge par Oracle à partir de la version 12c.
Dans Oracle 11, cela ne fonctionne pas, vous devez utiliser une séquence et un déclencheur, de cette manière :

CREATE TABLE xpto (
id NUMBER PRIMARY KEY,
description VARCHAR2(200) NOT NULL
);

CREATE SEQUENCE xpto_seq;

set define off
CREATE OR REPLACE TRIGGER xpto_id 
BEFORE INSERT ON xpto 
FOR EACH ROW
WHEN ( new.id IS NULL )
BEGIN
   :new.id := xpto_seq.nextval;
END;
/