Vitajte na [www.pocitac.win] Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy počítačový

Ako získať všetky názvy stĺpcov v databáze Oracle Database

Databázy Oracle organizujú tabuľky do účtov vlastníkov nazývaných schémy. Používatelia databázy s rôznymi oprávneniami môžu vyhľadávať metaúdaje databázy - nazývané „dátový slovník“ - na zoznam informácií vrátane názvov stĺpcov, oprávnení objektov alebo štatistík objektov. Ak chcete získať názvy stĺpcov z tabuliek alebo zobrazení na databázovom serveri Oracle, spustite krátky dotaz pomocou najvhodnejšieho objektu údajového slovníka. Pohľad USER_TAB_COLS zobrazuje objekty, ktoré vlastní prihlásený užívateľ, zatiaľ čo ALL_TAB_COLS zobrazuje všetky objekty, ktoré má užívateľ k dispozícii na základe jeho povolení, a DBA_TAB_COLS zobrazuje všetko v databáze bez ohľadu na to, ktorý používateľský účet vlastní daný objekt.

Krok 1 - Vykonaním štandardného dotazu SQL sa vrátia výsledky z najvhodnejšieho zobrazenia systému. Základný dotaz sa objaví vo forme: SELECT * FROM USER_TAB_COLS; Podľa potreby nahradiť ALL_TAB_COLS alebo DBA_TAB_COLS. Symbol „*“ vráti všetky stĺpce v dotaze.

Krok 2

Obmedzte údaje vrátené v dotaze nahradením výrazu „select *“ za cielenejší zoznam stĺpcov zo zobrazenia slovníka. Ak chcete vrátiť iba schému, názov tabuľky a názov stĺpca pre objekty, ku ktorým má prihlásený účet prístup, použite: SELECT vlastník, názov_tabulky, názov stĺpca FROM ALL_TAB_COLS;

Obmedzte, ktoré objekty sa vrátia obmedzením výsledkov pomocou klauzuly „where“. Napríklad, ak chcete vrátiť iba názvy stĺpcov pre tabuľky, ktoré vlastní prihlásený používateľ a ktoré začínajú písmenom „A“, použite: SELECT * FROM USER_TAB_COLS WHERE, ak je názov tabuľky LIKE 'A%';

Tipy

Veľké organizácie prevádzkujúce podnikový server Oracle niekedy ponúkajú webové rozhrania pre dátové slovníky, ktoré vyhľadávajú všetky stĺpce tabuľky ako anonymný alebo systémový užívateľ bez toho, aby museli písať svoj vlastný dopyt. Overte si u správcu databázy, či máte prístup k takémuto nástroju.

Oracle tiež ponúka zobrazenia ALL_TAB_COLUMNS, USER_TAB_COLUMNS a DBA_TAB_COLUMNS. Tieto objekty sa líšia od objektov končiacich na „COLS“ odfiltrovaním určitých skrytých stĺpcov. Vo väčšine prípadov získate potrebné informácie bez ohľadu na to, ktorú množinu zobrazení použijete.

Upozornenia

Vrátenie všetkých názvov stĺpcov vo veľmi veľkej databáze s mnohými objektmi môže poskytnúť príliš veľa informácií, aby boli užitočné. Zvážte zúženie rozsahu vašej otázky pomocou série vyhľadávacích filtrov vo vašej klauzuli SQL „where“.

Ak chcete dotazovať akýkoľvek objekt dátového slovníka s predponou DBA, prihlásený účet musí mať na tieto zobrazenia práva „select“ alebo musí mať priradený SELECT_CATALOG_ROLE Oracle. Vo väčšine prípadov musia tabuľky DBA špecifikovať predponu schémy SYS, napr. „SELECT * FROM SYS.DBA_TAB_COLS;“ alebo jeho ekvivalent.

Copyright © počítačové znalosti Všetky práva vyhradené