Heim  >  Artikel  >  Datenbank  >  So ändern Sie die Reihenfolge der Felder in einer Oracle-Datenbanktabelle

So ändern Sie die Reihenfolge der Felder in einer Oracle-Datenbanktabelle

小云云
小云云Original
2017-12-11 13:54:433345Durchsuche

Dieser Artikel führt Sie hauptsächlich in die Methode zum Ändern der Feldreihenfolge in der Oracle-Datenbanktabelle ein. Bevor ich die Änderungsmethode vorstelle, stelle ich Ihnen zunächst die Methode zum Erstellen neuer Felder in der Oracle-Datenbanktabelle vor Detaillierte Informationen finden Sie im Beispielcode. Lassen Sie uns mit dem folgenden Editor lernen.

Vorwort

Vor einiger Zeit stellte mir jemand eine Frage zum Anpassen der Reihenfolge von Tabellenfeldern in Oracle. Das Problem besteht darin, dass nach dem Entwurf der Tabellenstruktur, wenn Sie später ein Feld zur Tabelle hinzufügen müssen, das Feld standardmäßig am Ende der Tabelle platziert wird und zu viele Felder vorhanden sind und wir verwandte Felder zusammenfügen möchten . In diesem Fall: Um die Feldreihenfolge zu ändern. Bevor wir die Reihenfolge ändern, werfen wir zunächst einen Blick darauf, wie Felder zur Oracle-Datenbanktabelle hinzugefügt werden.

Neue Felder:

Syntax zum Hinzufügen von Feldern: alter table tablename add (column datatype [default value][null/not null],….);

Beispiel

Tabellenstruktur erstellen:

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

Ein Feld hinzufügen:

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

Verwenden Sie eine SQL-Anweisung, um drei Felder gleichzeitig hinzuzufügen:

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

age integer default 22 not null,

has_money number(9,2)

);

Änderung der Feldreihenfolge

Die erste Originalmethode:

Löschen und neu erstellen, obwohl diese Methode einfach und grob ist, ist sie unwissenschaftlich

--新建临时表以存储正确的顺序
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;

Dies Methode Für Tabellen mit weniger Feldern wird es kein allzu großes Problem sein, für Tabellen mit mehr Feldern ist es jedoch schwierig.

Die zweite Methode (empfohlen):

1. Zum Betrieb sind zunächst System- oder Systemberechtigungen erforderlich.

2. Fragen Sie die ID der Tabelle ab, die geändert werden muss

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

Hinweis: ITHOME ist der Benutzer, TEST ist die zu ändernde Tabelle, der Tabellenname sollte in Großbuchstaben angegeben werden

3. Ermitteln Sie die Reihenfolge aller Felder in der Tabelle anhand der ID

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

4. Änderungsreihenfolge

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

Oder direkt nach der Anweisung im dritten Schritt zur Aktualisierung hinzufügen, um Änderungen vorzunehmen

Schließlich den Oracle-Dienst festschreiben und neu starten

Verwandte Empfehlungen:

Über die Verwendungszusammenfassung der Funktion „Contains“ in Oracle

Detaillierte Erläuterung der Grundprinzipien von Oracle Paging-Abfrage

Yan Shiba Oracle Video-Ressource (Quellcode-Kursunterlagen) teilen

Das obige ist der detaillierte Inhalt vonSo ändern Sie die Reihenfolge der Felder in einer Oracle-Datenbanktabelle. 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