ALTER TABLE
La commande ALTER TABLE permet de modifier les caractéristiques d'une table existante et de ses colonnes. Vous pouvez ajouter, supprimer et modifier des colonnes ; vous pouvez également définir manuellement la valeur des zones de type INCR.
Syntaxe
ALTER TABLE [database_name.]table_name
SET INCR value
ADD [COLUMN] column_name data_type [ NODEFAULT | NOMODIFY | HIDDEN ]
DROP [COLUMN] column_name
ALTER [COLUMN] column_name SET NOMODIFY { TRUE | FALSE }
ALTER [COLUMN] column_name SET HIDDEN { TRUE | FALSE }
ALTER [COLUMN] column_name SET NODEFAULT { TRUE | FALSE }
ALTER [COLUMN] column_name SET WIDTH value;Vous pouvez spécifier plusieurs paramètres ADD, DROP ou ALTER dans une seule commande ALTER TABLE.
Exemple
alter table mytab add col3 real;Définition manuelle des valeurs d'incrément
Les colonnes de type INCR permettent d'affecter à chaque ligne d'une table un numéro unique, comme c'est le cas pour la colonne Serial de la table alerts.status. Lors de chaque insertion, la valeur d'incrément en cours est copiée dans la nouvelle ligne puis est augmentée pour la ligne suivante. Vous pouvez utiliser la clause SET
INCR (set increment) pour définir la valeur d'incrément des lignes suivantes. Cela est très utile, par exemple, lorsque vous souhaitez modifier la valeur Serial affectée aux nouvelles alertes de la table alerts.status.
ALTER TABLE table_name SET INCR valueOù table_name est le nom d'une table qui contient une colonne de type INCR et value est un entier.1> alter table alerts.status set incr 20100
2> goINCR qui entraîne les insertions suivantes à avoir les mêmes valeurs que les lignes existantes. La nouvelle valeur INCR
ne peut pas être comprise entre les lignes minimale et maximale existantes et doit être inférieure de 1 000 000 000 à la valeur minimale existante dans la table ou supérieure de 1 000 000 000 à la valeur maximale existante.Dans le groupe de correctifs 23, le comportement a été modifié pour empêcher que la nouvelle valeur
INCR ne soit définie sur une valeur comprise entre 1 000 000 et une valeur existante dans la table. Le renvoi à la ligne de valeur INCR est également pris en compte.