Menu

Index/help


ALTER TABLE

Déscription

Cette commande permet de modifier la définition d'une table, les modifications permises sont les suivantes :

Syntaxe


ALTER TABLE [schema.]table
    [ADD      column datatype [DEFAULT expr] [column_constraint] ...
              | table_constraint
         |  (  column datatype [DEFAULT expr] [column_constraint] ...
              | table_constraint
           [,  column datatype [DEFAULT expr] [column_constraint] ...
              | table_constraint ] ... )  ]
    [MODIFY    column [datatype] [DEFAULT expr] [column_constraint] ...
            |  (column [datatype] [DEFAULT expr] [column_constraint] ...
 [, column datatype [DEFAULT expr] [column_constraint] ...] ...)  ]
    [PCTFREE  integer] [PCTUSED  integer]
    [INITRANS integer] [MAXTRANS integer]
    [STORAGE storage_clause]
    [DROP drop_clause] ...
    [ALLOCATE EXTENT [( [SIZE integer [K|M] ]
                        [DATAFILE 'filename']
                        [INSTANCE integer] )]
    [ ENABLE   enable_clause
    | DISABLE disable_clause ] ...
schema

est le nom du schéma contenant la table. Le schéma par défaut est celui de l'utilisateur qui exécute la requête.

table

est le nom de la table qui sera modifiée.

ADD

ajoute une colonne ou une contrainte d'intégrité.

MODIFY
column
datatype
DEFAULT
column_constraint
table_constraint
PCTFREE, PCTUSED, INITRANS, MAXTRANS
STORAGE
DROP
ALLOCATE EXTENT

Alloue explicitement une nouvelle extension pour la table.

ENABLE

Active une contrainte d'intégrité ou tous les triggers associés à la table.

DISABLE

Désactive une contrainte d'intégrité ou tous les triggers associés à la table.

Les contraintes d'intégrité spécifiées dans ces clauses doivent avoir été définies auparavant. On peut aussi activer ou désactiver des contraintes d'intégrité en utilisant les paramètre ENABLE et DISABLE de la clause CONSTRAINT. Quand on définit une contrainte d'intégrité elle est activée par défaut.

Prérequis

Pour pouvoir modifier la définition d'une il faut soit être propriétaire de cette table, soit avoir le privilège ALTER TABLE sur cette table.

le privilège ALTER ANY TABLE permet de modifier la définition de n'importe quelle table appartenant à n'importe quel utilisateur.

Voir aussi

CONSTRAINT, CREATE TABLE, DROP TABLE




Menu

Index/help