Hur man får alla kolumnnamn i en Oracle-databas

Oracle-databaser ordnar tabeller i ägarkonton som kallas scheman. Databasanvändare med olika behörigheter kan fråga databasens metadata - kallad "dataordbok" - för att lista information inklusive kolumnnamn, objektbehörigheter eller objektstatistik. För att få kolumnnamn från tabeller eller vyer på en Oracle-databasserver, kör du en kort fråga med det lämpligaste dataleksikonobjektet. Vyn USER_TAB_COLS visar objekt som ägs av den inloggade användaren, medan ALL_TAB_COLS visar alla objekt som är tillgängliga för användaren med tanke på hans behörighet och DBA_TAB_COLS visar allt i databasen oavsett vilket användarkonto som äger objektet.

Steg 1

Utför en standard SQL-fråga för att returnera resultat från den mest lämpliga systemvyn. En grundläggande fråga visas i form:

VÄLJ * FRÅN USER_TAB_COLS;

Ersätt ALL_TAB_COLS eller DBA_TAB_COLS efter behov. Symbolen "*" returnerar alla kolumner i frågan.

Steg 2

Begränsa data som returneras i frågan genom att ersätta "välj *" med en mer riktad lista med kolumner från ordlistavyn. För att endast returnera schemat, tabellnamnet och kolumnnamnet för objekt som det inloggade kontot kan komma åt, använd:

VÄLJ ägare, tabellnamn, kolumnnamn FRÅN ALL_TAB_COLS;

Begränsa vilka objekt som returnerar genom att begränsa dina resultat med en "där" -sats. För att till exempel bara returnera kolumnnamn för tabeller som den inloggade användaren äger och som börjar med bokstaven "A", använd:

VÄLJ * FRÅN USER_TAB_COLS VAR tabellnamn LIKE 'A%';