Heim> Datenbank> Oracle> Hauptteil

So verwenden Sie Rowid in Oracle

WBOY
Freigeben: 2022-06-08 17:41:56
Original
7022 Leute haben es durchsucht

In Oracle wird die Zeilen-ID verwendet, um die Zeilen in der Tabelle eindeutig zu markieren. Die Syntax lautet „rowid auswählen“. ist physikalisch Die interne Adresse der Zeilendaten in der Tabelle. Eine davon zeigt auf die Adresse der Datendatei, die in dem Block gespeichert ist, der die Zeile in der Datentabelle enthält, und die andere ist die Adresse dieser Zeile im Datenblock Dadurch kann die Datenzeile selbst direkt lokalisiert werden.

So verwenden Sie Rowid in Oracle

Die Betriebsumgebung dieses Tutorials: Windows 10-System, Oracle Version 12c, Dell G3-Computer.

rowid in Oracle

rowid ist eine Pseudospalte, die zum eindeutigen Markieren von Zeilen in einer Tabelle verwendet wird. Es handelt sich um die interne Adresse der Zeilendaten in der physischen Tabelle. Sie enthält zwei Adressen, die in dem Block gespeichert sind, der die Zeile in der Datentabelle enthält, und die andere ist die Zeile, die direkt lokalisiert werden kann Datenzeile selbst im Datenblock.

Jede Datenzeile in der Oracle-Datenbanktabelle verfügt über eine eindeutige Kennung oder Zeilen-ID, die normalerweise für den Zugriff auf Daten innerhalb von Oracle verwendet wird. rowid benötigt 10 Byte Speicherplatz und verwendet 18 Zeichen zur Anzeige. Dieser Wert gibt den spezifischen physischen Speicherort der Zeile in der Oracle-Datenbank an. Rowid kann in einer Abfrage verwendet werden, um anzugeben, dass der Wert in den Abfrageergebnissen enthalten ist.

So verwenden Sie Rowid in Oracle

AAAR1yAAHAAAAFkAAA als Beispiel

Hier ist AAAR1y die Datenbankobjektnummer, AAH die Dateibezeichnung, AAAAFk die Blocknummer und die letzten drei Ziffern AAA sind die Zeilennummer.

Verwenden Sie select * from DEPT; Sie können die Rowid-Spalte nicht im Ausgabeergebnis sehen. Dies liegt daran, dass diese Spalte nur innerhalb der Datenbank verwendet wird und Rowid normalerweise als Pseudospalte bezeichnet wird.

So verwenden Sie Rowid in Oracle

Wenn Sie die Daten von

scott.emp auswählen und dann manuell ändern möchten, müssen Sie

select rowid,t.* from scott.emp t;
Nach dem Login kopieren

verwenden, anstatt sie direkt als

select * from emp;
Nach dem Login kopieren
select rowid,t.* from scott.emp t; select * from scott.emp for update;
Nach dem Login kopieren

zu schreiben. Die Verwendung von ROWID zum Auffinden von Datensätzen in ORACLE ist am schnellsten. schneller als die Indexierung. Wenn Sie also zuerst SELECT ROWID verwenden, um die zu aktualisierenden Zeilen auszuwählen, sie in COLLECTION abzulegen und dann FORALL UPDATE für die Stapelaktualisierung verwenden, kann die Geschwindigkeit verbessert werden. Aus dieser Sicht ist es besser als andere Methoden. SELECT FOR UPDATE sperrt den Datensatz vor der Aktualisierung. Dies ist in komplexen parallelen Abfrageaktualisierungsprogrammen erforderlich, z. B. wenn Datenkonsistenz erforderlich ist und andere beim Filtern von Daten keine Änderungen vornehmen dürfen wird mit FOR UPDATE oder SET TRANSACTION READ ONLY gesperrt. Darüber hinaus erfordert die WHERE CURRENT OF CURSOR-Anweisung in CURSOR, dass FOR UPDATE zu SELECT hinzugefügt werden muss.

Empfohlenes Tutorial: „

Oracle Video Tutorial

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

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!