vendredi 23 janvier 2009

Type Serial de PostgreSQL

PostgreSQL possède un type de donnée particulier qui se nomme SERIAL. En fait, il ne s'agit pas d'un vrai type, c'est plutôt un raccourci qu'on peut utiliser lors de la création d'une table pour définir une colonne de type auto-incrémentée.

Pour être plus précis, le DDL (Data Definition Language) à écrire lors de la définition d'une table (quand on n'utilise pas d'interface graphique d'édition) :
CREATE TABLE nom_de_la_table(
nom_de_colonne SERIAL
);
est l'équivalent de :
CREATE SEQUENCE nom_de_la_sequence;

CREATE TABLE nom_de_la_table (
nom_de_colonne integer DEFAULT nextval('nom_de_sequence') NOT NULL
);
Une chose importante à retenir est que bien que serial soit souvent utilisé pour la colonne représentant la clé primaire, celle-ci n'est pas définie automatiquement. Il faut alors déclarer explicitement la contrainte :
CONSTRAINT nom_de_la_contrainte PRIMARY KEY (nom_de_colonne)

Aucun commentaire:

Publier un commentaire