Maison > base de données > Oracle > le corps du texte

Comment convertir le type de champ dans Oracle

青灯夜游
Libérer: 2022-03-02 17:18:06
original
12013 Les gens l'ont consulté

Dans Oracle, vous pouvez utiliser l'instruction "ALTER TABLE MODIFY" pour convertir les types de champs. La syntaxe est "ALTER TABLE nom_table MODIFY (nom du champ nouveau type de données)".

Comment convertir le type de champ dans Oracle

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

Dans Oracle, vous pouvez utiliser l'instruction "ALTER TABLE MODIFY" pour modifier la définition des colonnes existantes, par exemple en modifiant le type de champ.

Format de syntaxe :

ALTER TABLE table_name MODIFY(字段名称 新数据类型)
Copier après la connexion

Par exemple : 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, remplacez-le par varchar2(40). Lors de l'exécution, il apparaîtra : "ORA-01439 : Pour changer le type de données, la colonne à modifier doit être vide. ." À ce stade, la méthode suivante doit être utilisée pour résoudre ce problème :

/*修改原字段名name为name_tmp*/
alter table tb rename column name to name_tmp;

/*增加一个和原字段名同名的字段name*/
alter table tb add name varchar2(40);

/*将原字段name_tmp数据更新到增加的字段name*/
update tb set name=trim(name_tmp);

/*更新完,删除原字段name_tmp*/
alter table tb drop column name_tmp;
Copier après la connexion

Résumé :

1. Lorsqu'il n'y a aucune donnée dans le champ ou que le nouveau type à modifier est compatible avec le type d'origine, vous pouvez modifiez-le directement.

2. Lorsqu'un champ contient des données et que le nouveau type à modifier est incompatible avec le type d'origine, un nouveau champ doit être créé indirectement pour le transfert.

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