Heim >Datenbank >Oracle >Erfahren Sie, wie Sie Oracle zum Abfragen temporärer Tabellen verwenden

Erfahren Sie, wie Sie Oracle zum Abfragen temporärer Tabellen verwenden

PHPz
PHPzOriginal
2023-04-18 09:07:361177Durchsuche

In der Oracle-Datenbank ist eine temporäre Tabelle eine temporäre Tabelle, die zum Speichern temporärer Daten verwendet wird. Im Gegensatz zu gewöhnlichen Tabellen werden sie nach Beendigung der Sitzung automatisch gelöscht. Temporäre Tabellen können wie gewöhnliche Tabellen SELECT-, INSERT-, UPDATE-, DELETE- und andere Vorgänge verwenden, ihre Daten sind jedoch nur für die aktuelle Sitzung sichtbar und in anderen Sitzungen kann nicht darauf zugegriffen werden. In diesem Artikel erfahren Sie, wie Sie temporäre Tabellen mit Oracle abfragen.

Erstellen einer temporären Tabelle

In der Oracle-Datenbank können Sie eine temporäre Tabelle mit der Anweisung CREATE GLOBAL TEMPORARY TABLE oder CREATE TEMPORARY TABLE erstellen. Die beiden Anweisungen sind sehr ähnlich. Der Hauptunterschied besteht darin, dass CREATE GLOBAL TEMPORARY TABLE eine globale temporäre Tabelle erstellt und CREATE TEMPORARY TABLE eine temporäre Sitzungstabelle erstellt. Das Folgende ist ein Beispiel für die Erstellung einer temporären Sitzungstabelle:

CREATE GLOBAL TEMPORARY TABLE temp_table (
  id NUMBER(10),
  name VARCHAR2(30)
) ON COMMIT PRESERVE ROWS;

Diese Anweisung erstellt eine temporäre Tabelle mit dem Namen temp_table, die zwei Spalten enthält, id und name, und die Daten werden am Ende der Sitzung gelöscht. Die Option ON COMMIT PRESERVE ROWS gibt an, dass die Daten nach der Übermittlung beibehalten werden, sodass die temporäre Tabelle während der Sitzung mehrmals verwendet werden kann.

Abfragen einer temporären Tabelle

Das Abfragen einer temporären Tabelle ist dem Abfragen einer normalen Tabelle sehr ähnlich. Hier ist ein Beispiel für die Abfrage einer temporären Tabelle:

SELECT * FROM temp_table;

Dadurch werden alle Zeilen und Spalten in temp_table zurückgegeben.

Wenn Sie temporäre Daten zwischen mehreren Sitzungen teilen möchten, können Sie mit der Anweisung CREATE GLOBAL TEMPORARY TABLE eine globale temporäre Tabelle erstellen. Hier ist ein Beispiel für die Verwendung einer globalen temporären Tabelle:

CREATE GLOBAL TEMPORARY TABLE temp_table (
  id NUMBER(10),
  name VARCHAR2(30)
) ON COMMIT PRESERVE ROWS;

-- 在会话1中插入数据
INSERT INTO temp_table VALUES (1, 'Alice');
COMMIT;

-- 在会话2中查询数据
SELECT * FROM temp_table;

-- 在会话1中插入更多的数据
INSERT INTO temp_table VALUES (2, 'Bob');
COMMIT;

-- 再次在会话2中查询数据
SELECT * FROM temp_table;

In diesem Beispiel wird die globale temporäre Tabelle temp_table in Sitzung 1 erstellt und dann werden einige Daten in Sitzung 1 eingefügt. Sitzung 2 fragt alle Zeilen und Spalten in temp_table über die SELECT-Anweisung ab. Während dieser Abfrage fügt Sitzung 1 weiterhin Daten in temp_table ein und behält die Daten nach der Übermittlung bei. Wenn ich schließlich temp_table in Sitzung 2 erneut abfrage, sehe ich nur die zuvor eingefügten Zeilen, nicht die späteren.

In der Oracle-Datenbank ist die Syntax zum Abfragen temporärer Tabellen dieselbe wie für das Abfragen gewöhnlicher Tabellen. Der Hauptvorteil temporärer Tabellen besteht darin, dass sie nach Sitzungsende automatisch gelöscht werden, sodass manuelle Aufräumarbeiten bei der Arbeit mit temporären Daten vermieden werden können.

Das obige ist der detaillierte Inhalt vonErfahren Sie, wie Sie Oracle zum Abfragen temporärer Tabellen verwenden. 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