Oracle Comment créer un champ à incrémentation automatique à l'aide d'une séquence

Dans Oracle, vous pouvez créer un champ à incrémentation automatique à l'aide d'un objet de base de données 'séquence' pouvant être affecté en tant que clé primaire. À l'aide de l'objet 'séquence' Oracle, vous pouvez générer de nouvelles valeurs pour une colonne. Une séquence Oracle est un objet comme une table ou une procédure stockée. Des exemples avec des explications pas à pas sont fournis.

Créez une séquence.

Syntaxe:

Créer une séquence nom_ séquence
commencer par la valeur
incrément de valeur
valeur minvalue
valeur maxvalue;

Passons en exemple.

Premièrement, créons un emp table avec contrainte de clé primaire sur emp_id colonne.

SQL> create table emp (
numéro d'emp_id (10),
fname varchar2 (25),
lname varchar2 (25),
contrainte pk_emp_id PRIMARY KEY (emp_id)
);

Créons maintenant une séquence.

SQL> Créer une séquence emp_sequence
commencez par 1
incrémenter de 1
valeur min. 1
valeur maximale 10000;

Maintenant, nous avons créé un objet de séquence nommé emp_sequence avec une valeur initiale égale à 1 et une incrémentation de 1 de 1 (valeur minimale) à 10 000 (valeur maximale).

Insérons maintenant les valeurs dans la table emp.

SQL> insérer dans emp (emp_id, fname, lname), valeurs (emp_sequence.nextval, 'Darvin', 'Johnson');
SQL> insérer dans emp (emp_id, fname, lname), valeurs (emp_sequence.nextval, 'Mig', 'Andrews');
SQL> insérer dans emp (emp_id, fname, lname), valeurs (emp_sequence.nextval, 'Alex', 'Martin');
SQL> insérer dans emp (emp_id, fname, lname), valeurs (emp_sequence.nextval, 'Jon', 'paul');
SQL> insérer dans emp (emp_id, fname, lname), valeurs (emp_sequence.nextval, 'Yatin', 'Bones');

Dans emp_sequence.nextvalemp_sequence est le nom de la séquence que nous avons créée ci-dessus et nextval est une fonction qui permet d’attribuer le numéro suivant de emp_sequence à emp_id colonne dans emp table.

Voyons maintenant le emp table.

SQL> select * from emp; EMP_ID FNAME LNAME ---------- ------------------------- ------------ ------------- 1 Darvin Johnson 2 Mig Andrews 3 Alex Martin 4 Jon Paul 5 Yatin Bones 

Maintenant, vous pouvez voir en utilisant 'séquence' la emp_id La colonne a des valeurs auto-incrémentées de 1 à 5.