FirebirdSQL logo

la commande ADD

La phrase ADD vous permet d’ajouter une nouvelle colonne ou une nouvelle contrainte de table.La syntaxe de définition d’une colonne et la syntaxe de description d’une contrainte de table sont exactement les mêmes que la syntaxe décrite dans le document CREATE TABLE.

impact sur le compteur de format :
  • Chaque fois qu’une nouvelle colonne est ajoutée, le numéro du format est incrémenté de un.

  • L’ajout d’une nouvelle contrainte de table n’entraîne pas l’augmentation du numéro de format.

Example 1. Ajout d’une colonne à une table
ALTER TABLE COUNTRY
ADD CAPITAL VARCHAR(25);
Example 2. Ajout d’une colonne avec la restriction `NOT NULL'.
ALTER TABLE OBJECTS
ADD QUANTITY INT DEFAULT 1 NOT NULL;
Important

Notez la clause DEFAULT, qui est obligatoire pour ajouter une contrainte NOT NULL s’il y a des données dans la table.Le fait est que dans ce cas, il y a également un contrôle de validité des données.Et comme lorsqu’une nouvelle colonne est ajoutée, elle contient NULL pour toutes les lignes de la table, une exception sera générée.

Example 3. Ajout d’une colonne avec une restriction d’unicité et suppression d’une autre colonne
ALTER TABLE COUNTRY
  ADD CAPITAL VARCHAR(25) UNIQUE,
  DROP CURRENCY;

Pour ajouter des contraintes au niveau de la table, utilisez la phrase ADD [CONSTRAINT].

Ajout d’une contrainte de contrôle et d’une clé étrangère

ALTER TABLE JOB
ADD CONSTRAINT CHK_SALARY CHECK (MIN_SALARY < MAX_SALARY),
ADD FOREIGN KEY (JOB_COUNTRY)
REFERENCES COUNTRY (COUNTRY);
Warning

Attention, lorsqu’on ajoute une nouvelle contrainte CHECK, il n’y a pas de vérification que les données précédemment saisies correspondent à celle-ci.Nous vous recommandons donc de vérifier les données de la table avant d’ajouter une telle contrainte.

La commande DROP

La commande DROP supprime la colonne de la table spécifiée.Une colonne de table ne peut pas être supprimée si des dépendances existent sur elle.En d’autres termes, la colonne ne doit pas être référencée pour pouvoir être supprimée avec succès.Les références à une colonne peuvent être contenues dans :

  • dans les contraintes de colonnes ou de tables ;

  • dans les index ;

  • dans les procédures stockées et les déclencheurs ;

  • dans les vues.

Chaque fois qu’une colonne est supprimée, le numéro du format est incrémenté de un.