So erhalten Sie alle Spaltennamen in einer Oracle-Datenbank

Oracle-Datenbanken organisieren Tabellen in Besitzerkonten, die als Schemata bezeichnet werden. Datenbankbenutzer mit unterschiedlichen Rechten können die Datenbankmetadaten - das sogenannte "Datenwörterbuch" - abfragen, um Informationen wie Spaltennamen, Objektberechtigungen oder Objektstatistiken aufzulisten. Um Spaltennamen aus Tabellen oder Ansichten auf einem Oracle-Datenbankserver abzurufen, führen Sie eine kurze Abfrage mit dem am besten geeigneten Data-Dictionary-Objekt aus. Die Ansicht USER_TAB_COLS zeigt Objekte, die dem angemeldeten Benutzer gehören, während ALL_TAB_COLS alle Objekte anzeigt, die dem Benutzer mit seinen Berechtigungen zur Verfügung stehen, und DBA_TAB_COLS zeigt alles in der Datenbank, unabhängig davon, welches Benutzerkonto das Objekt besitzt.

Schritt 1

Führen Sie eine Standard-SQL-Abfrage aus, um Ergebnisse aus der am besten geeigneten Systemansicht zurückzugeben. Im Formular erscheint eine einfache Abfrage:

SELECT * FROM USER_TAB_COLS;

Ersetzen Sie nach Bedarf ALL_TAB_COLS oder DBA_TAB_COLS. Das Symbol "*" gibt alle Spalten in der Abfrage zurück.

Schritt 2

Begrenzen Sie die in der Abfrage zurückgegebenen Daten, indem Sie "select *" durch eine gezieltere Liste von Spalten aus der Wörterbuchansicht ersetzen. Um nur das Schema, den Tabellennamen und den Spaltennamen für Objekte zurückzugeben, auf die das angemeldete Konto zugreifen kann, verwenden Sie:

SELECT Eigentümer, Tabellenname, Spaltenname FROM ALL_TAB_COLS;

Schränken Sie ein, welche Objekte zurückgegeben werden, indem Sie Ihre Ergebnisse mit einer "where"-Klausel einschränken. Um beispielsweise nur Spaltennamen für Tabellen zurückzugeben, die dem angemeldeten Benutzer gehören und die mit dem Buchstaben "A" beginnen, verwenden Sie:

SELECT * FROM USER_TAB_COLS WHERE Tabellenname LIKE 'A%';