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!