Heim > Artikel > Betrieb und Instandhaltung > Oracle fragt alle Tabellendaten ab
In der Oracle-Datenbank kann die Abfrage aller Tabellendaten auf folgende Weise erreicht werden.
Es gibt einige Systemtabellen in der Oracle-Datenbank, die alle Tabellennamen abfragen können. Über diese Tabellennamen können Sie die Daten aller Tabellen weiter abfragen. Die am häufigsten verwendeten Systemtabellen sind USER_TABLES, ALL_TABLES und DBA_TABLES.
Sie können die Tabelle USER_TABLES verwenden, um alle Tabellennamen unter dem aktuellen Benutzer abzufragen, wie unten gezeigt:
SELECT TABLE_NAME FROM USER_TABLES;
Diese SQL-Anweisung fragt alle Tabellen unter dem aktuellen Benutzer (Login) ab Benutzername.
Wenn Sie alle Tabellennamen für alle Benutzer abfragen müssen, müssen Sie die Tabelle ALL_TABLES verwenden. Die Tabelle ALL_TABLES enthält alle Tabellennamen für alle Benutzer in der Datenbank, wie unten gezeigt:
SELECT OWNER, TABLE_NAME FROM ALL_TABLES;
Diese SQL-Anweisung fragt alle Tabellennamen für alle Benutzer ab und gibt den Benutzer (OWNER) zurück, zu dem jede Tabelle gehört.
Verwenden Sie die Tabelle DBA_TABLES, um alle Tabellennamen in der gesamten Oracle-Datenbank abzufragen, wie unten gezeigt:
SELECT OWNER, TABLE_NAME FROM DBA_TABLES;
Hinweis: Für die Abfrage der Tabelle DBA_TABLES sind Administratorrechte erforderlich.
Durch diese Abfragen können Sie die Namensliste aller Tabellen abrufen und dann Schleifenanweisungen verwenden, um Tabellendaten einzeln abzufragen.
Eine andere Möglichkeit, alle Tabellendaten abzufragen, besteht darin, eine Schleifenanweisung zu verwenden, um Tabellendaten einzeln abzufragen. Sie können eine der oben genannten Methoden verwenden, um die Namensliste aller Tabellen abzurufen, und dann eine Schleifenanweisung verwenden, um die Tabellendaten einzeln abzufragen. Das Beispiel lautet wie folgt:
DECLARE v_table_name USER_TABLES.TABLE_NAME%TYPE; BEGIN FOR c IN (SELECT TABLE_NAME FROM USER_TABLES) LOOP v_table_name := c.TABLE_NAME; EXECUTE IMMEDIATE 'SELECT * FROM ' || v_table_name; END LOOP; END;
Dieser Code verwendet eine Cursor-Schleifenanweisung, um Rufen Sie nacheinander alle Tabellennamen unter dem aktuellen Benutzer ab und fragen Sie dann mit dynamischem SQL alle Daten in jeder Tabelle ab.
Zusammenfassung:
In der Oracle-Datenbank können Sie alle Tabellennamen über Systemtabellen abfragen oder Schleifenanweisungen verwenden, um die Daten jeder Tabelle einzeln abzufragen. Welche Methode zum Einsatz kommt, hängt von der Situation ab. Wenn Sie nur eine Liste mit Tabellennamen benötigen, reicht die Verwendung einer Systemtabellenabfrage aus. Wenn Sie Tabellendaten abfragen müssen, können Sie dynamische SQL- und Schleifenanweisungen verwenden.
Das obige ist der detaillierte Inhalt vonOracle fragt alle Tabellendaten ab. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!