Vous êtes sur le site Web historique de la documentation de 4D. Les documentations sont progressivement déplacées vers developer.4d.com |
||||||||||||||
|
4D v20
ALTER TABLE
|
ALTER TABLE 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 :
Étant donné que cette commande modifie la structure de la base de données, elle ne peut pas être utilisée dans une application packagée en lecture seule (fichier .4dc installé dans le dossier Program Files ou fichier .4dz).
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 :
Begin SQL
ALTER TABLE Table_1 MODIFY id ENABLE AUTO_INCREMENT;
End SQL
Inactivation de l'option :
Begin SQL
ALTER TABLE Table_1 MODIFY id DISABLE AUTO_INCREMENT;
End SQL
Exemple d'activation de l'option "UUID auto" pour le champ [Table_1]uid de type alpha :
Begin SQL
ALTER TABLE Table_1 MODIFY uid ENABLE AUTO_GENERATE;
End SQL
Inactivation de l'option :
Begin SQL
ALTER TABLE Table_1 MODIFY uid DISABLE AUTO_GENERATE;
End SQL
CREATE TABLE
définition_clé_étrangère
définition_clé_primaire
définition_colonne
DROP TABLE
Produit : 4D
Thème : Commandes SQL
4D - Référence SQL ( 4D v20)