Heim  >  Artikel  >  Datenbank  >  So ändern Sie den Tabellenfeldtyp in Oracle

So ändern Sie den Tabellenfeldtyp in Oracle

青灯夜游
青灯夜游Original
2021-12-24 14:25:3752726Durchsuche

In Oracle können Sie die Anweisung „alter table“ verwenden, um den Tabellenfeldtyp zu ändern. Die Funktion dieser Anweisung besteht darin, die Struktur der ursprünglichen Tabelle zu ändern Name);“-Anweisung.

So ändern Sie den Tabellenfeldtyp in Oracle

Die Betriebsumgebung dieses Tutorials: Windows 7-System, Oracle 11g-Version, Dell G3-Computer.

Ändern Sie den Datentyp des Tabellenfelds

Es gibt eine Tabelle mit dem Namen tb, ein Feldsegment mit dem Namen name und einen Datentyp von nchar(20).

1. Vorausgesetzt, dass die Felddaten leer sind, kann sie unabhängig vom Feldtyp direkt ausgeführt werden:

alter table tb modify (name nvarchar2(20));

2. Vorausgesetzt, das Feld enthält Daten, kann es direkt durch Ändern in nvarchar2 ausgeführt werden (20):

alter table tb modify (name nvarchar2(20));

3. Angenommen, das Feld enthält Daten, wenn es in varchar2(40) geändert wird, wird Folgendes angezeigt: „ORA-01439: Um den Datentyp zu ändern, muss die Spalte geändert werden.“ muss leer sein". In diesem Fall sollte die folgende Methode verwendet werden, um dieses Problem zu lösen:

/*Ändern Sie den ursprünglichen Feldnamen in name_tmp*/

alter table tb rename column name to name_tmp;

/*Fügen Sie einen Feldnamen mit demselben Namen wie das ursprüngliche Feld hinzu name*/

alter table tb add name varchar2(40);

/*Aktualisieren Sie die ursprünglichen Feldnamen_tmp-Daten auf den hinzugefügten Feldnamen*/

update tb set name=trim(name_tmp);

/*Löschen Sie nach der Aktualisierung das ursprüngliche Feld name_tmp*/

alter table tb drop column name_tmp;

3. Felder hinzufügen und Felder löschen

    --添加新的字段

    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;

Empfohlenes Tutorial: „Oracle Tutorial

Das obige ist der detaillierte Inhalt vonSo ändern Sie den Tabellenfeldtyp in Oracle. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn