Jeudi 3 mai 2012
4
03
/05
/Mai
/2012 21:21
Renommer le nom d'une Table Oracle.
Comment renommer une table dans Oracle.
Comment changer le nom de ma table dans Oracle.
Changer, renommer le nom de ma table dans Oracle.
Lorsque vous renommez une table Oracle, il faut faire attention et étudier les impacts d'un changement de nom de table car si cette table est référencée dans des
procédures PL / SQL, Oracle invalidera celles-ci, l'objet ayant été renommé.
Il en va de même pour les synonymes existants de la table par exemple ainsi que les MATERIALIZED VIEW.
Par contre Oracle conserve et transfère automatiquement les contraintes d'intégrités, les index, et les GRANT de l'ancienne table vers la nouvelle table lors d'un changement
de nom de table.
Les deux commandes SQL pour renommer une table.
|
|
ALTER TABLE table_name RENAME TO new_table_name;
RENAME table_name TO new_table_name ;
|
Exemple des commandes ALTER TABLE RENAME TO et RENAME TO.
|
|
SQL> ALTER TABLE emp RENAME TO emp_old;
Table modifiée.
SQL>
|
|
|
SQL> RENAME emp_old TO emp;
Table renommée.
SQL>
|
Par Daniel Roesch
-
Publié dans : COMMANDES SQL DDL-LDD
0
Mardi 10 avril 2012
2
10
/04
/Avr
/2012 13:59
SQL - ALTER TABLE DROP COLUMN.
Comment supprimer une colonne ou un champ dans une table Oracle.
Comment faire un drop column dans une table Oracle.
SUPPRIMER UNE COLONNE AVEC ALTER TABLE DROP COLUMN.
La clause sql DROP COLUMN de l’instruction sql ALTER TABLE permet de supprimer une colonne existante dans une table Oracle.
Si on supprime une colonne d'une table les index définis sur la colonne sont également supprimés.
Si on supprime une colonne d'une table les contraintes faisant référence à la colonne sont supprimés.
Si la colonne à supprimer est une Primary Key avec des Foreign Key la référençant, Oracle retournera une erreur.
Il faut spécifier la clause CASCADE CONTRAINTES, dans ce cas Oracle supprime toutes les contraintes qui font référence à la colonne.
Oracle invalide automatiquement tous les objets dépendants de la colonne supprimée, tels que les vues, les déclencheurs,...
Vous ne pouvez pas supprimer une colonne :
- d'une table compressée ou une table partitionnée contenant une partition compressée.
- sur laquelle un DOMAIN INDEX a été construit.
SYNTAXE COMMANDE SQL ALTER TABLE DROP COLUMN.
|
|
ALTER TABLE table_name DROP { COLUMN column | (column [, column ]...)}
[ { CASCADE CONSTRAINTS | INVALIDATE } ];
|
ORA-12992: impossible de supprimer la colonne clé parent.
Ici nous essayons de supprimer une colonne PK (Primary Key) qui est référencé dans une FK (Foreign Key).
Cette erreur Oracle est du à la non utilisation de la clause CASCADE CONSTRAINTS.
|
|
SQL> ALTER TABLE emp DROP COLUMN empno;
ALTER TABLE emp DROP COLUMN empno
*
ERREUR à la ligne 1 :
ORA-12992: impossible de supprimer la colonne clé parent
SQL>
|
SUPPRIMER UNE COLONNE AVEC LA CLAUSE CASCADE CONSTRAINTS.
Avec la clause CASCADE CONSTRAINTS la suppression de la colonne est une réussite.
|
|
SQL> ALTER TABLE emp DROP COLUMN empno CASCADE CONSTRAINTS;
Table modifiée.
SQL>
|
SUPPRIMER PLUSIEURS COLONNES AVEC ALTER TABLE DROP COLUMN
Pour supprimer plusieurs colonne d'une table dans Oracle, nous utilisons ALTER TABLE DROP sans le mot clé COLUMN.
Les colonnes à supprimer sont placées entre parenthèses juste après le mot clé DROP de la commande ALTER TABLE.
|
|
SQL> ALTER TABLE emp DROP (ename,job);
Table modifiée.
SQL>
|
Par Daniel Roesch
-
Publié dans : COMMANDES SQL DDL-LDD
0