Maison  >  Article  >  base de données  >  Comment modifier l'ordre des champs dans une table de base de données Oracle

Comment modifier l'ordre des champs dans une table de base de données Oracle

小云云
小云云original
2017-12-11 13:54:433345parcourir

Cet article vous présente principalement la méthode de modification de l'ordre des champs dans la table de la base de données Oracle. Avant de présenter la méthode de modification, je vous présente d'abord la méthode de création de nouveaux champs dans la table de la base de données Oracle. détaillez à travers l'exemple de code. Vous avez besoin. Les amis peuvent s'y référer. Apprenons avec l'éditeur ci-dessous. J'espère que cela pourra aider tout le monde.

Avant-propos

Il y a quelque temps, quelqu'un m'a posé une question sur l'ajustement de l'ordre des champs de table dans Oracle. Le problème est qu'après avoir conçu la structure de la table, si vous devez ajouter un champ à la table ultérieurement, le champ sera placé par défaut à la fin de la table, et il y a trop de champs et nous voulons regrouper les champs liés. . A ce moment, pour modifier l'ordre des champs. Avant de modifier l'ordre, voyons d'abord comment ajouter des champs à la table de la base de données Oracle.

Nouveaux champs :

Syntaxe d'ajout de champs : modifier la table tablename add (type de données de colonne [valeur par défaut][null/not null],….);

Exemple

Créer une structure de tableau :

create table test1
(id varchar2(20) not null);

Ajouter un champ :

alter table test1
add (name varchar2(30) default ‘无名氏' not null);

Utilisez une instruction SQL pour ajouter trois champs en même temps :

alter table test1
add (name varchar2(30) default ‘无名氏' not null,

age integer default 22 not null,

has_money number(9,2)

);

Modification de l'ordre des champs

La première méthode originale :

Supprimer et reconstruire Bien que cette méthode soit simple et grossière, elle n'est pas scientifique

--新建临时表以存储正确的顺序
create table A_2 as select (column1,colum2,……A表中的顺序) from A_1 ;

--删除表A_1
drop table A_1;

--新建A_1并从A_2表中赋予其正确的顺序和值
create table A_1 as select * from A_2;

--删除临时表A_2
drop table A_2;

Ceci. méthode Ce ne sera pas trop gênant pour les tables avec moins de champs, mais ce sera difficile pour les tables avec plus de champs.

La deuxième méthode (recommandée) :

1. Tout d'abord, des autorisations système ou système sont requises pour fonctionner

2. Interrogez l'ID de la table qui doit être modifiée.

select object_id
 from all_objects
 where owner = 'ITHOME'
 and object_name = 'TEST';

Remarque : ITHOME est l'utilisateur, TEST est la table à modifier, le nom de la table doit être en majuscules

3. Découvrez l'ordre de tous les champs du tableau via ID

select obj#, col#, name 
 from sys.col$ 
 where obj# = '103756' order by col#

4. >

update sys.col$ set col#=2 where obj#=103756 and name='AGE';
update sys.col$ set col#=3 where obj#=103756 and name='NAME';

Ou ajouter directement pour mise à jour après la déclaration de la troisième étape pour apporter des modifications

Enfin valider et redémarrer le service Oracle


Recommandations associées :


À propos du résumé d'utilisation de la fonction Contient dans Oracle

Explication détaillée des principes de base d'Oracle requête de pagination

Partage de ressources vidéo Oracle Yan Shiba (cours de code source)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn