Résumé: dans ce tutoriel, vous apprendrez à utiliser Oracle ALTER TABLE MODIFY
instruction column pour modifier la définition des colonnes existantes.
Pour modifier la définition d’une colonne dans une table, utilisez la syntaxe de colonne ALTER TABLE MODIFY
comme suit:
La déclaration est simple. Pour modifier une colonne d’une table, vous devez spécifier le nom de la colonne, le nom de la table et l’action que vous souhaitez effectuer.
Oracle vous permet d’effectuer de nombreuses actions, mais les suivantes sont les principales:
- Modifier la visibilité de la colonne
- Autoriser ou non les valeurs nulles
- Raccourcir ou élargir la taille de la colonne
- Modifier le valeur par défaut d’une colonne
- Modifier l’expression des colonnes virtuelles
Pour modifier plusieurs colonnes, vous utilisez la syntaxe suivante:
Exemples de colonnes Oracle ALTER TABLE MODIFY
Commencez par créer une nouvelle table nommée accounts
pour la démonstration:
Deuxièmement, insérez quelques lignes dans le tableau accounts
:
Troisièmement, vérifiez l’opération d’insertion en utilisant la SELECT
instruction:
A) Modifier la visibilité de la colonne ity
Dans Oracle Database 12c, vous pouvez définir les colonnes de table comme invisibles ou visibles. Les colonnes invisibles ne sont pas disponibles pour la requête comme:
Ou une déclaration comme:
dans SQL * Plus.
Cependant, vous pouvez interroger les colonnes invisibles en les spécifiant explicitement dans la requête:
Par par défaut, les colonnes du tableau sont visibles. Vous pouvez définir une colonne invisible lorsque vous créez la table ou à l’aide de l’instruction de colonne ALTER TABLE MODIFY
.
Par exemple, l’instruction suivante crée le full_name
colonne invisible:
L’instruction suivante renvoie les données de toutes les colonnes de la table accounts
à l’exception de la colonne full_name
:
Ceci est dû au fait que la colonne full_name
est invisible.
Pour modifier un colonne de invisible à visible, vous utilisez l’instruction ci-dessous:
B) Autoriser ou interdire l’exemple nul
L’instruction suivante change la colonne email
pour accepter les valeurs non nulles:
Cependant, Oracle a émis l’erreur suivante:
Parce que lorsque vous avez changé une colonne de Nullable à n on-nullable, vous devez vous assurer que les données existantes répondent à la nouvelle contrainte.
Pour résoudre ce problème, nous mettons d’abord à jour les valeurs de la colonne email
:
Notez que la fonction LOWER()
convertit une chaîne en minuscules.
Et puis changez le contrainte de la colonne:
Maintenant, cela fonctionne comme prévu.
C) Élargir ou raccourcir la taille d’un exemple de colonne
Supposons que nous voulions ajouter un code international aux numéros de téléphone. Avant de le faire, nous devons élargir la taille de la colonne de téléphone en utilisant la déclaration suivante:
Maintenant, nous pouvons mettre à jour les numéros de téléphone:
L’instruction suivante vérifie la mise à jour:
Pour raccourcir la taille d’une colonne, assurez-vous que toutes les données de la colonne correspondent à la nouvelle taille.
Par exemple, nous essayons de réduire la taille de la colonne phone
à 12 caractères:
Oracle Database a émis l’erreur suivante:
Pour résoudre ce problème, nous devons d’abord supprimer le code international des numéros de téléphone:
La fonction REPLACE()
remplace une sous-chaîne par une nouvelle sous-chaîne. Dans ce cas, il remplace le «+ 1-» par une chaîne vide.
Et puis raccourcissez la taille de la colonne phone
:
D) Modifier colonne virtuelle
Supposons, nous le nom complet dans le format suivant:
Pour ce faire, nous pouvons changer l’expression du colonne virtuelle full_name
comme suit:
L’instruction suivante vérifie la modification:
E) Modifier la valeur par défaut d’une colonne
Ajoutons une nouvelle colonne nommée status
à la table accounts
avec la valeur par défaut 1.
Une fois l’instruction exécutée, les valeurs de la colonne status sont définies sur 1 pour toutes les lignes existantes de la table accounts
.
Pour changer la valeur par défaut o Si la colonne status est à 0, vous utilisez l’instruction suivante:
Nous pouvons ajouter une nouvelle ligne à accounts
pour vérifier si la valeur par défaut de la colonne status
est 0 ou 1:
Données de requête depuis le tableau accounts
:
Comme vous pouvez le voir, la valeur dans la colonne d’état du compte avec l’ID 4 est 0 comme prévu.
Dans ce didacticiel, vous avez appris à utiliser l’instruction de colonne Oracle ALTER TABLE MODIFY
pour modifier la définition des colonnes existantes dans une table.
- Ce tutoriel vous a-t-il été utile?
- OuiNon