Nous avons souvent besoin de modifier la table dans Oracle en fonction des modifications et de la mise à niveau des exigences. Voici quelques-uns des points importants concernant l'instruction Alter table
- Vous altérez ou modifiez un tableau à l'aide de ALTER TABLE déclaration.
- 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
Modifier les caractéristiques physiques (INITRANS ou paramètres de stockage)
Nous pouvons modifier le paramètre de stockage de la table à l'aide de l'instruction Alter table. Nous pouvons modifier inittrans comme ceci
ALTER TABLE TABLE_NAME INITRANS 10;
Déplacer le tableau vers de nouveaux segments ou tablespaces
Nous pouvons déplacer la table non partitionnée ou la partition de la table vers un nouveau segment ou un nouvel espace de table si nécessaire
Alter table table_name move tablespace <tablespace name>
Nous pouvons même utiliser la commande move pour modifier n'importe quel paramètre de stockage des tables qui ne sont pas modifiés à l'aide de la commande alter table
Modifier la table dans Oracle pour modifier le type de données
Nous pouvons modifier le type de données de n'importe quelle colonne à l'aide de la commande alter table modify
ALTER TABLE <table_name> MODIFY (<column_name> <new_data_type>);
Before SQL> desc emp Name Null? Type ----------------------------------------- -------- ----------------------- EMPNO NOT NULL NUMBER(4) ENAME VARCHAR2(10) JOB VARCHAR2(9) MGR NUMBER(4) HIREDATE DATE SAL NUMBER(7,2) COMM NUMBER(7,2) DEPTNO NUMBER(2) After SQL> desc emp Name Null? Type ----------------------------------------- -------- ---------------------------- EMPNO NOT NULL NUMBER(4) ENAME VARCHAR2(20) JOB VARCHAR2(9) MGR NUMBER(4) HIREDATE DATE SAL NUMBER(7,2) COMM NUMBER(7,2) DEPTNO NUMBER(2)
modifier le type de données de la colonne dans oracle
Ajouter une nouvelle colonne/supprimer une colonne/renommer une colonne
Nous pouvons ajouter une nouvelle colonne à la définition de table
Utilisation de la commande alter table add
ALTER TABLE <table_name>
ADD (<New column_name> <new_data_type>);
Oracle vous permet de renommer des colonnes existantes dans une table. Utilisez la clause RENAME COLUMN de l'instruction ALTER TABLE pour renommer une colonne
Oracle vous permet de déposer la colonne dans la table à l'aide de la commande
Alter table
Veuillez consulter l'article ci-dessous pour en savoir plus sur ces derniers
modifier table ajouter colonne oracle
Définissez une colonne inutilisée et supprimez la colonne inutilisée
si vous êtes préoccupé par les ressources consommées lors de la suppression de la colonne, vous pouvez utiliser l'instruction ALTER TABLE…SET UNUSED .
Cette instruction marque une ou plusieurs colonnes comme inutilisées, mais ne supprime pas réellement les données de la colonne cible ni ne restaure l'espace disque occupé par ces colonnes.
- Une colonne marquée comme inutilisée n'est pas affichée dans les requêtes ou les vues du dictionnaire de données, et son nom est supprimé afin qu'une nouvelle colonne puisse réutiliser ce nom. Toutes les contraintes, index et statistiques définis sur la colonne sont également supprimés.
Example
ALTER TABLE <table_name>
SET UNUSED COLUMN <column_name>;
Nous pouvons supprimer la colonne inutilisée plus tard lorsque la ressource est inférieure à l'aide de la commande
ALTER TABLE <table_name>
Drop UNUSED COLUMN ;
Ajouter, modifier ou supprimer des contraintes d'intégrité associées à la table ou vous pouvez également activer/désactiver les contraintes
L'ajout de contraintes s'effectue à l'aide de la modification de la table d'ajout de contraintes
ALTER TABLE EMP ADD CONSTRAINT EMP_FK FOREIGN KEY (DEPT_NO) REFERENCES DEPT(DEPT_NO);
Supprimer les contraintes - se fait à l'aide de
ALTER TABLE DROP CONSTRAINT <constraint_name> command;
Activation/désactivation des contraintes - Les contraintes peuvent être créées en mode DISABLE/ENABLE ou peuvent être désactivées ou activées à l'aide de la commande
ALTER TABLE ENABLE/DISABLE CONSTRAINT <constraint_name>
Renommer le nom de la table
Oracle vous permet également de renommer le nom de la table
Rename <table name> to <new table name>;
Modification de la table cache/no-cache, Compression, parallélisme
Oracle permet Altération de la table cache/no-cache, Compression, parallélisme
Articles connexes
Répertorier toutes les tables dans Oracle
créer une table oracle
ora-20005 :les statistiques d'objet sont verrouillées
modifier le déplacement de la table
comment vérifier toutes les contraintes sur une table dans oracle
https ://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_3001.htm