Oracle
 sql >> Base de données >  >> RDS >> Oracle

Comment modifier la table ajouter une colonne oracle

Comment modifier la colonne d'ajout de table dans la base de données Oracle

  • Vous ajoutez une nouvelle colonne à l'aide de ALTER TABLE ADD COLUMN déclaration dans Oracle
  • La table doit être contenue dans votre schéma. Pour modifier une table, vous devez soit disposer du privilège d'objet ALTER pour la table, soit du privilège système ALTER ANY TABLE.
  • Si une vue, une vue matérialisée, un déclencheur, un index basé sur une fonction, une contrainte de vérification, une fonction, une procédure de package dépend d'une table de base, la modification de la table de base ou de ses colonnes peut affecter l'objet dépendant. Par exemple, les objets PLSQL deviennent non valide si l'objet de table dépendant est modifié et que vous devez le rendre à nouveau valide

Nous pouvons ajouter une nouvelle colonne à la définition de table à l'aide de la commande alter table add 

ALTER TABLE tech_master ADD (name  varchar2(9));
Table Altered
  • Avant 11g, si une nouvelle colonne est ajoutée à une table, la colonne est initialement NULL sauf si vous spécifiez la clause DEFAULT. . Lorsque vous spécifiez une valeur par défaut, la base de données met immédiatement à jour chaque ligne avec la valeur par défaut. Notez que cela peut prendre un certain temps, et que lors de la mise à jour, il y a un verrou DML exclusif sur la table.
  • Pour certains types de tables (par exemple, les tables sans colonnes LOB), si vous spécifiez à la fois une contrainte NOT NULL et une valeur par défaut, la base de données peut optimiser l'opération d'ajout de colonne et réduire considérablement la durée pendant laquelle la table est verrouillé pour DML. Il en va de même pour l'ajout de colonne non nulle avec la valeur par défaut
  • Oracle a introduit la fonctionnalité d'ajout rapide de colonne dans 11g. Ainsi, lorsque nous ajoutons une colonne non nulle avec une valeur par défaut ou une colonne nulle avec une valeur par défaut, Oracle ajoute immédiatement la colonne et ne met pas à jour chaque ligne avec la valeur par défaut. S
  • o il n'encourt aucune pénalité pour rétablir et annuler la génération. Lorsqu'un utilisateur sélectionne la colonne pour un enregistrement existant, Oracle obtient le fait sur la valeur par défaut du dictionnaire de données et la renvoie à l'utilisateur.

Vous ne pouvez pas spécifier où la colonne doit apparaître. La colonne nouvellement ajoutée devient la dernière colonne

 De même nous pouvons ajouter plusieurs colonnes au tableau

ALTER TABLE table_name
ADD (col1 column datatype [default  expr],
col2 column datatype [default  expr],
...
coln column datatype [default  expr]);

Example
ALTER TABLE customer_master
ADD (location_name varchar2(100),
last_login date);

Les conventions de dénomination des colonnes sont les mêmes que dans le cas de l'instruction Create table

  • Le nom que vous choisissez pour une colonne doit respecter ces règles standard :
  • Le nom doit commencer par une lettre A-Z ou a-z
  • il peut contenir des chiffres et des traits de soulignement
  • Peut être MAJUSCULES ou minuscules
  • Peut contenir jusqu'à 30 caractères
  • Impossible d'utiliser le même nom qu'un autre objet existant dans votre schéma
  • Ne doit pas être un serveur Oracle et un mot réservé SQL

Les types de données sont à nouveau identiques à l'instruction de création de table

Personnage -CHAR, NCHAR, VARCHAR2 &NVARCHAR2.
– Le type de données CHAR est une chaîne alphanumérique de longueur fixe qui a une longueur maximale en octets.
-Lors de la création d'un type de données CHAR, la base de données conservera de l'espace pour les données entrantes et si les données sont plus courtes que la taille maximale, elles seront remplies d'espace à droite
-Le type de données VARCHAR2 est une variable -length chaîne alphanumérique, qui a une longueur maximale en octets. Il peut stocker jusqu'à 4000 octets.
Numéro -NUMBER
-Le type de données NUMBER stocke le nombre avec précision et échelle.
-Les types de données numériques stockent des entiers négatifs et positifs, des nombres à virgule fixe et des nombres à virgule flottante
– Lorsqu'une colonne est définie comme NUMBER (6, 2), la plage de valeurs peut être stockée de –9999,99 à 9999.99. Oracle arrondit les nombres à virgule flottante.
Date et heure –DATE, HORODATAGE (avec fuseau horaire ou fuseau horaire local), INTERVALLE ANNEE AU MOIS ET INTERVALLE JOUR A SECONDE.
-Le type de données DATE est utilisé pour stocker les informations de date et d'heure.
-Ce type de données a un certain nombre de fonctions spécifiques pour manipuler, formater et visualiser ses données.
– Le type de données DATE contient un stockage de sept octets et contient des informations sur le siècle, l'année, le mois, le jour, les heures, les minutes et les secondes.
– Le paramètre NLS_DATE_FORMAT peut être modifié pour contrôler l'affichage des données. La fonction SYSDATE retourne la date courante
Gros objets -BLOB (grand objet binaire) , CLOB (objet grand caractère) , NCLOB &BFILE
-Les colonnes de ces types de données peuvent stocker des données non structurées, notamment du texte, des images, des vidéos et des données spatiales. -Le type de données CLOB peut stocker jusqu'à huit téraoctets de données de caractères à l'aide du jeu de caractères de la base de données CHAR.
-Le type de données BLOB est utilisé pour stocker de grands objets binaires non structurés tels que ceux associés aux données d'image et vidéo où les données sont simplement un flux de valeurs "bit".
-La valeur du type de données BFILE fonctionne comme un localisateur de fichier ou un pointeur vers un fichier sur le système de fichiers du serveur. La taille de fichier maximale prise en charge est de 8 To à 128 To.
Longue Données de caractères de longueur variable jusqu'à 2 G
rowid Un système de numérotation de base 64 représentant l'adresse unique de la ligne dans la table

Exemple

Avant d'ajouter une colonne

Desc emp

Modifier le tableau ajouter une colonne

alter table emp add(ext varchar2(10));

Après l'ajout de la colonne

Desc emp

Supprimer maintenant cette colonne

alter table emp drop column ext;

J'espère que vous aimez l'article Comment modifier la colonne d'ajout de table dans Oracle

Articles connexes
Oracle create table syntaxe
Alter Table in Oracle
alter table move
DROP TABLE ORACLE instruction
check oracle table size
ora-20005 :les statistiques d'objet sont verrouillé