Instruction SQL ALTER TABLE

L’instruction SQL ALTER TABLE est utilisée pour ajouter, supprimer ou modifier des colonnes dans une table existante.

L’instruction ALTER TABLE est également utilisée pour ajouter et supprimer diverses contraintes sur une table existante.

Voici la syntaxe de modification de table :

ALTER TABLE nom_table 
    [ADD column-definition
         table-constraint-clause]
    [ALTER COLUMN column-alteration]
    [DROP CONSTRAINT nom-contraint|
          PRIMARY KEY|
          UNIQUE (nom-colonne [,nom-colonne...])]
    [RENAME COLUMN nom-colonne-source
                TO nom-column-cible]

column-alteration
    [SET DATA TYPE (altered-data-type)]
    [SET default-clause]
    [DROP DEFAULT]

Exemple 1:

La colonne NOM_DEPT dans la table DSN8910.TB_DEPARTMENT a été créée en tant que VARCHAR(36). Augmentez sa longueur à 60 octets. Ajoutez également la colonne CODE_DEPT à la table DSN8910.TB_DEPARTMENT. Décrivez la nouvelle colonne comme une colonne de chaîne de caractères de longueur 5.

ALTER TABLE DSN8910.TB_DEPARTMENT
      ALTER COLUMN DEPT_NAME
            SET DATA TYPE VARCHAR(60)
      ADD DEPT_BLDG CHAR(5);

Exemple 2 :

Modifiez la table TB_PRODINFO pour définir une clé étrangère qui fait référence à une clé unique non primaire dans la table de version du produit (TB_PRODVER). Les colonnes de la clé unique sont NOM_PRODVER et RELNO_PRODVER.

ALTER TABLE TB_PRODINFO
      FOREIGN KEY (NOM_PRODINFO, VERNO_PRODINFO)
      REFERENCES TB_PRODVER (NOM_PRODVER, RELNO_PRODVER)
      ON DELETE RESTRICT;