Depuis Oracle 12c, il n'est plus nécessaire de faire des séquences (ni des triggers) pour générer les valeurs des clés primaires. Il était temps!
L'exemple suivant montre l'équivalent Oracle du AUTO_INCREMENT, disponible sous MySQL.
CREATE TABLE MESSAGE ( ID NUMBER GENERATED BY DEFAULT ON NULL AS IDENTITY, CREATEUR VARCHAR2(20), CONTENU VARCHAR2(1000), CONSTRAINT PK_MESSAGE PRIMARY KEY (ID) );
Avez-vous remarqué le "GENERATED BY DEFAULT ON NULL AS IDENTITY"?
On peut ensuite insérer une ligne, en omettant de spécifier la clé primare :
INSERT INTO MESSAGE (CREATEUR, CONTENU) VALUES ('Fred', 'Lorem Ipsum bla bla'); INSERT INTO MESSAGE (CREATEUR, CONTENU) VALUES ('Marc-André', 'Ben non, hello'); COMMIT;
C'est tout! La clé primaire a été affectée automatiquement.
SELECT * FROM MESSAGE; ID CREATEUR CONTENU 1 Fred Lorem Ipsum bla bla 2 Marc-André Ben non, bacon Ipsum bla
Ajouter votre commentaire