Hvordan få alle kolonnenavnene i en Oracle-database

Oracle-databaser organiserer tabeller i eierkontoer som kalles skjemaer. Databasebrukere med varierende privilegier kan spørre databasemetadataene - kalt "dataordbok" - for å liste opp informasjon inkludert kolonnenavn, objekttillatelser eller objektstatistikk. For å hente kolonnenavn fra tabeller eller visninger på en Oracle-databaseserver, kjør en kort spørring med det mest passende dataordbokobjektet. USER_TAB_COLS-visningen viser objekter som eies av den påloggede brukeren, mens ALL_TAB_COLS viser alle objekter som er tilgjengelige for brukeren gitt hans tillatelser, og DBA_TAB_COLS viser alt i databasen uavhengig av hvilken brukerkonto som eier objektet.

Trinn 1

Utfør en standard SQL-spørring for å returnere resultater fra den mest hensiktsmessige systemvisningen. Et grunnleggende spørsmål vises i skjemaet:

VELG * FRA USER_TAB_COLS;

Erstatt ALL_TAB_COLS eller DBA_TAB_COLS etter behov. Symbolet "*" returnerer alle kolonnene i spørringen.

Steg 2

Begrens dataene som returneres i spørringen ved å erstatte "velg *" med en mer målrettet liste over kolonner fra ordbokvisningen. Hvis du bare vil returnere skjemaet, tabellnavnet og kolonnenavnet for objekter den påloggede kontoen kan få tilgang til, bruker du:

VELG eier, tabellnavn, kolonnenavn FRA ALL_TAB_COLS;

Begrens hvilke gjenstander som returneres ved å begrense resultatene dine med en "hvor" -klausul. Hvis du for eksempel bare vil returnere kolonnenavn for tabeller den påloggede brukeren eier og som starter med bokstaven "A", bruk:

VELG * FRA USER_TAB_COLS HVOR tabellnavn LIKE 'A%';