Ajout d'une incrémentation automatique à une colonne existante dans Oracle
Dans Oracle, pour ajouter une fonctionnalité d'incrémentation automatique à une colonne existante qui est déjà la clé primaire d'une table, vous pouvez utiliser différentes méthodes selon la version d'Oracle que vous utilisez.
Pour Oracle 11g et Prior
CREATE SEQUENCE t_seq START WITH 150111111 INCREMENT BY 1; CREATE OR REPLACE TRIGGER t_trg BEFORE INSERT ON t FOR EACH ROW WHEN (new.id IS NULL) BEGIN SELECT t_seq.NEXTVAL INTO :new.id FROM dual; END;
Pour Oracle 12c et versions ultérieures
CREATE TABLE t ( ID NUMBER GENERATED ALWAYS AS IDENTITY START WITH 150111111 INCREMENT BY 1, text VARCHAR2(50) );
Insertion de données
Une fois la fonctionnalité d'incrémentation automatique configurée, vous pouvez insérer des données dans le tableau comme d'habitude.
Exemple
Considérons une table nommée t avec une colonne nommée ID comme la clé primaire et vous souhaitez la configurer pour l'incrémentation automatique à partir de 150111111.
Utilisation de la méthode séquence dans Oracle 11g :
INSERT INTO t(text) VALUES('auto-increment test 1');
Utilisation de la méthode de colonne Identité dans Oracle 12c :
INSERT INTO t(text) VALUES('This table has an identity column');
Remarque :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!