SQL AUTO INCREMENT terrain
Auto-incrémentation permet à un numéro unique doit être généré lorsqu'un nouvel enregistrement est inséré dans une table.
AUTO INCREMENT un champ
Très souvent, nous aimerions que la valeur du champ de clé primaire doit être créé automatiquement chaque fois qu'un nouvel enregistrement est inséré.
Nous aimerions créer un champ à incrémentation automatique dans un tableau.
Syntaxe pour MySQL
L'instruction SQL suivante définit le "P_ID" colonne à un champ auto-increment clé primaire dans l'affaire «Personnes» de table:
CREATE TABLE Persons
(
P_Id int NOT NULL AUTO_INCREMENT,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
PRIMARY KEY (P_Id)
)
(
P_Id int NOT NULL AUTO_INCREMENT,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
PRIMARY KEY (P_Id)
)
MySQL utilise le mot clé AUTO_INCREMENT pour effectuer une fonction d'auto-incrémentation.
Par défaut, la valeur de départ pour AUTO_INCREMENT vaut 1, et il sera incrémenté de 1 pour chaque nouvel enregistrement.
Pour laisser le début de la séquence AUTO_INCREMENT avec une autre valeur, utilisez l'instruction SQL suivante:
ALTER TABLE Persons AUTO_INCREMENT=100
Pour insérer un nouvel enregistrement dans l'affaire «Personnes» de table, nous n'aurons pas de spécifier une valeur pour le "P_ID" colonne (une valeur unique sera ajouté automatiquement):
INSERT INTO Persons (FirstName,LastName)
VALUES ('Lars','Monsen')
VALUES ('Lars','Monsen')
L'instruction SQL ci-dessus insérer un nouvel enregistrement dans l'affaire «Personnes» table. Le "P_ID" colonne serait attribué une valeur unique. Le "FirstName" colonne serait réglé sur "Lars" et le "Nom" colonne serait réglé sur "Monsen".
Syntaxe pour SQL Server
L'instruction SQL suivante définit le "P_ID" colonne à un champ auto-increment clé primaire dans l'affaire «Personnes» de table:
CREATE TABLE Persons
(
P_Id int PRIMARY KEY IDENTITY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
(
P_Id int PRIMARY KEY IDENTITY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
Le MS SQL Server utilise le mot clé IDENTITÉ pour effectuer une fonction d'auto-incrémentation.
Par défaut, la valeur de départ pour IDENTITY est 1, et il sera incrémenté de 1 pour chaque nouvel enregistrement.
Pour indiquer que le "P_ID" colonne doit commencer à la valeur 10 et par incrément de 5, modifier l'identité de IDENTITÉ (10,5).
Pour insérer un nouvel enregistrement dans l'affaire «Personnes» de table, nous n'aurons pas de spécifier une valeur pour le "P_ID" colonne (une valeur unique sera ajouté automatiquement):
INSERT INTO Persons (FirstName,LastName)
VALUES ('Lars','Monsen')
VALUES ('Lars','Monsen')
L'instruction SQL ci-dessus insérer un nouvel enregistrement dans l'affaire «Personnes» table. Le "P_ID" colonne serait attribué une valeur unique. Le "FirstName" colonne serait réglé sur "Lars" et le "Nom" colonne serait réglé sur "Monsen".
Syntaxe pour l'accès
L'instruction SQL suivante définit le "P_ID" colonne à un champ auto-increment clé primaire dans l'affaire «Personnes» de table:
CREATE TABLE Persons
(
P_Id PRIMARY KEY AUTOINCREMENT,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
(
P_Id PRIMARY KEY AUTOINCREMENT,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
Le MS Access utilise le mot-clé AUTOINCREMENT pour effectuer une fonction d'auto-incrémentation.
Par défaut, la valeur de départ pour AUTOINCREMENT est 1, et il sera incrémenté de 1 pour chaque nouvel enregistrement.
Pour indiquer que le "P_ID" colonne doit commencer à la valeur 10 et par incrément de 5, changer le autoincrement à AUTOINCREMENT (10,5).
Pour insérer un nouvel enregistrement dans l'affaire «Personnes» de table, nous n'aurons pas de spécifier une valeur pour le "P_ID" colonne (une valeur unique sera ajouté automatiquement):
INSERT INTO Persons (FirstName,LastName)
VALUES ('Lars','Monsen')
VALUES ('Lars','Monsen')
L'instruction SQL ci-dessus insérer un nouvel enregistrement dans l'affaire «Personnes» table. Le "P_ID" colonne serait attribué une valeur unique. Le "FirstName" colonne serait réglé sur "Lars" et le "Nom" colonne serait réglé sur "Monsen".
Syntaxe pour Oracle
Dans Oracle le code est un peu plus difficile.
Vous devrez créer un champ auto-increment avec la séquence d'objets (cet objet génère un numéro de séquence).
Utilisez la syntaxe de CREATE SEQUENCE suivante:
CREATE SEQUENCE seq_person
MINVALUE 1
START WITH 1
INCREMENT BY 1
CACHE 10
MINVALUE 1
START WITH 1
INCREMENT BY 1
CACHE 10
Le code ci-dessus crée un objet séquence appelée seq_person, qui commence par 1 et est incrémenté de 1. Il sera également mettre en cache jusqu'à 10 valeurs de rendement. L'option de cache spécifie le nombre de valeurs de séquence sont stockées en mémoire pour un accès plus rapide.
Pour insérer un nouvel enregistrement dans l'affaire «Personnes» de table, nous devrons utiliser la fonction nextval (cette fonction récupère la valeur suivante de la séquence seq_person):
INSERT INTO Persons (P_Id,FirstName,LastName)
VALUES (seq_person.nextval,'Lars','Monsen')
VALUES (seq_person.nextval,'Lars','Monsen')
L'instruction SQL ci-dessus insérer un nouvel enregistrement dans l'affaire «Personnes» table. Le "P_ID" colonne serait attribué le numéro suivant dans la séquence seq_person. Le "FirstName" colonne serait réglé sur "Lars" et le "Nom" colonne serait réglé sur "Monsen".
0 commentaires:
Post a Comment
HELLO VISITORS THANKS FOR YOUR VISIT AND COMMENT