Maison > base de données > Oracle > Comment modifier le type de champ de table dans Oracle

Comment modifier le type de champ de table dans Oracle

青灯夜游
Libérer: 2022-04-18 12:02:14
original
52966 Les gens l'ont consulté

Dans Oracle, vous pouvez utiliser l'instruction "alter table" pour modifier le type de champ de la table. La fonction de cette instruction est de changer la structure de la table d'origine. La syntaxe est "altérer le nom de la table modifier (nom du champ nouveau type). nom);" déclaration.

Comment modifier le type de champ de table dans Oracle

L'environnement d'exploitation de ce tutoriel : système Windows 7, version Oracle 11g, ordinateur Dell G3.

Modifier le type de données du champ de table

Il existe une table nommée tb, un segment de champ nommé name et un type de données nchar(20).

1. En supposant que les données du champ sont vides, quel que soit le type de champ modifié, il peut être exécuté directement :

alter table tb modify (name nvarchar2(20));
Copier après la connexion
Copier après la connexion

2 En supposant que le champ contient des données, il peut être exécuté directement en passant à nvarchar2. (20) :

alter table tb modify (name nvarchar2(20));
Copier après la connexion
Copier après la connexion

3. En supposant que le champ contient des données, lorsqu'il est modifié en varchar2(40), il apparaîtra : "ORA-01439 : Pour changer le type de données, la colonne à modifier Doit être vide". Dans ce cas, la méthode suivante doit être utilisée pour résoudre ce problème :

/*Modifier le nom du champ d'origine en name_tmp*/

alter table tb rename column name to name_tmp;
Copier après la connexion

/*Ajouter un nom de champ avec le même nom que le champ d'origine name*/

alter table tb add name varchar2(40);
Copier après la connexion

/*Mettez à jour les données du champ d'origine name_tmp avec le nom du champ ajouté*/

update tb set name=trim(name_tmp);
Copier après la connexion

/*Après la mise à jour, supprimez le champ d'origine name_tmp*/

alter table tb drop column name_tmp;
Copier après la connexion

3. Ajoutez des champs et supprimez des champs

    --添加新的字段

    alter table lyz_emp add(e_age number(3));

    --添加多个新的字段

    alter table lyz_emp add(

    e_age number(3),

    e_age_tmp,varchar2(20));

    --获取表字段:

    select *

    from user_tab_columns

    where Table_Name='lyz_emp'

    order by column_name

    --删除表中的字段

    alter table lyz_emp drop column e_age;
Copier après la connexion
.

Tutoriel recommandé : "Tutoriel Oracle"

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal