4D v16

ALTER TABLE

Accueil

 
4D v16
ALTER TABLE

ALTER TABLE  


 

 

Commande ALTER TABLE

ALTER TABLE nom_sql
{ADD [TRAILING] définition_colonne [PRIMARY KEY] |
DROP nom_sql |
ADD définition_clé_primaire |
DROP PRIMARY KEY |
ADD définition_clé_étrangère |
DROP CONSTRAINT nom_sql |
[{ENABLE | DISABLE} REPLICATE] |
[{ENABLE | DISABLE} LOG] |
[MODIFY nom_sql {ENABLE | DISABLE} AUTO_INCREMENT] |
[MODIFY nom_sql {ENABLE | DISABLE} AUTO_GENERATE] |
[{ENABLE | DISABLE} TRIGGERS] |
SET SCHEMA nom_sql}

La commande ALTER TABLE permet de modifier la table existante désignée par l'argument nom_sql. Vous pouvez effectuer l'une des actions suivantes :
Passer ADD définition_colonne ajoute une colonne à la table. Le mot-clé TRAILING (doit être placé avant définition_colonne s'il est utilisé) force la création de la colonne après la dernière colonne existante de la table dans le fichier de structure. Cette option est utile dans le cas où des colonnes comportant des données ont été supprimées dans la table (sans que les données aient été effacées), afin d’éviter que les données existantes soient réaffectées à la nouvelle colonne. 

Note : Cette commande ne permet pas d'ajouter de champ (colonne) de type Objet.

Le mot-clé PRIMARY KEY permet de définir la clé primaire au moment de l’ajout de la colonne.
Passer DROP nom_sql supprime la colonne nom_sql de la table.
Passer ADD définition_clé_primaire ajoute une clé primaire (PRIMARY KEY) à la table.
Passer DROP PRIMARY KEY supprime la clé primaire (PRIMARY KEY) de la table.
Passer ADD définition_clé_étrangère ajoute une clé étrangère (FOREIGN KEY) à la table.
Passer DROP CONSTRAINT nom_sql supprime la contrainte spécifiée par nom_sql de la table.
Passer ENABLE REPLICATE ou DISABLE REPLICATE permet d’activer et d’inactiver le mécanisme autorisant la réplication de la table (cf. section Réplication via le SQL).
Passer ENABLE LOG ou DISABLE LOG permet d’activer et d’inactiver la journalisation de la table.
Passer ENABLE AUTO_INCREMENT ou DISABLE AUTO_INCREMENT permet d’activer et d’inactiver l’option "Incrémentation auto" des champs de type entier long. Passer ENABLE AUTO_GENERATE ou DISABLE AUTO_GENERATE permet d’activer et d’inactiver l’option "UUID auto" des champs alpha de type UUID. Dans les deux cas, vous devez passer au préalable le mot-clé MODIFY suivi du nom nom_sql de la colonne à modifier.
Passer ENABLE TRIGGERS ou DISABLE TRIGGERS permet d’activer et d’inactiver les triggers pour la table. Si vous souhaitez gérer les triggers globalement au niveau de la base, vous devez utiliser ALTER DATABASE.

Passer SET SCHEMA nom_sql transfère la table vers le schéma nom_sql.

La commande retourne une erreur :

  • lorsque le paramètre optionnel ENABLE LOG est passé et qu’aucune clé primaire valide n’est définie,
  • si vous tentez de modifier ou de supprimer la définition de clé primaire de la table sans désactiver la journalisation via DISABLE LOG.

Cet exemple crée une table, y insère un ensemble de valeurs, puis ajoute une colonne Num_Tel, insère un autre ensemble de valeurs puis supprime la colonne ID :

CREATE TABLE ACTEUR_FANS
(ID INT32, Nom VARCHAR);

INSERT INTO ACTOR_FANS
(ID, Nom)
VALUES(1, 'Francis');

ALTER TABLE ACTEUR_FANS
ADD Num_Tel VARCHAR;

INSERT INTO ACTEUR_FANS
(ID, Nom, Num_Tel)
VALUES (2, 'Florence', '01446677888');

ALTER TABLE ACTEUR_FANS
DROP ID;

Exemple d'activation de l'option "Incrémentation auto" pour le champ [Table_1]id de type entier long :

 Debut SQL
    ALTER TABLE Table_1 MODIFY id ENABLE AUTO_INCREMENT;
 Fin SQL

Inactivation de l'option :

 Debut SQL
    ALTER TABLE Table_1 MODIFY id DISABLE AUTO_INCREMENT;
 Fin SQL

Exemple d'activation de l'option "UUID auto" pour le champ [Table_1]uid de type alpha :

 Debut SQL
    ALTER TABLE Table_1 MODIFY uid ENABLE AUTO_GENERATE;
 Fin SQL

Inactivation de l'option :

 Debut SQL
    ALTER TABLE Table_1 MODIFY uid DISABLE AUTO_GENERATE;
 Fin SQL



Voir aussi  

CREATE TABLE
définition_clé_étrangère
définition_clé_primaire
définition_colonne
DROP TABLE

 
PROPRIÉTÉS 

Produit : 4D
Thème : Commandes SQL
Nom intl. : ALTER TABLE

 
HISTORIQUE 

 
UTILISATION DE L'ARTICLE

4D - Référence SQL ( 4D v16)