Recherche…


Remarques

Les clés primaires sont utilisées pour identifier de manière unique un enregistrement dans une table. Une table ne peut avoir qu'une seule clé primaire (bien que la clé primaire puisse être composée de plusieurs colonnes) et une clé primaire est requise pour certains types de réplication.

Les clés primaires sont souvent utilisées (mais pas obligatoirement) dans l' index clusterisé d'une table.

Créer une table avec une colonne d'identité en tant que clé primaire

 -- Identity primary key - unique arbitrary increment number
 create table person (
 id int identity(1,1) primary key not null,
 firstName varchar(100) not null,
 lastName varchar(100) not null,
 dob DateTime not null,
 ssn varchar(9) not null
 )

Créer une table avec une clé primaire GUID

 -- GUID primary key - arbitrary unique value for table
 create table person (
 id uniqueIdentifier default (newId()) primary key,
 firstName varchar(100) not null,
 lastName varchar(100) not null,
 dob DateTime not null,
 ssn varchar(9) not null
 )

Créer une table avec une clé naturelle

 -- natural primary key - using an existing piece of data within the table that uniquely identifies the record
 create table person (
 firstName varchar(100) not null,
 lastName varchar(100) not null,
 dob DateTime not null,
 ssn varchar(9) primary key not null
 )

Créer une table avec une clé composite

 -- composite key - using two or more existing columns within a table to create a primary key
 create table person (
 firstName varchar(100) not null,
 lastName varchar(100) not null,
 dob DateTime not null,
 ssn varchar(9) not null,
 primary key (firstName, lastName, dob)
 )

Ajouter la clé primaire à la table existante

ALTER TABLE person
 ADD CONSTRAINT pk_PersonSSN PRIMARY KEY (ssn)

Remarque: si la colonne de clé primaire (dans ce cas, ssn ) a plus d'une ligne avec la même clé candidate, l'instruction ci-dessus échouera, car les valeurs de clé primaire doivent être uniques.

Supprimer la clé primaire

ALTER TABLE Person
 DROP CONSTRAINT pk_PersonSSN


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow