Keresés

Új hozzászólás Aktív témák

  • #65304576
    törölt tag

    ...szépen működik is, a gond most az, hogy én nagylelkűen felruháztam scott/tiger felhasználómat, minden joggal, így látja is a 'dba_tab_columns' táblát/nézetet, de más rendszeren, egy mezei scott-nak, nincs joga hozzáférni :S. Létezik másik tábla is, amiből le lehet kérdezni az oszlopokat?
    vagy ha nem, hát azzal fog kezdődni a kód, hogy beállítom a jogosultságot... csak nem igazán elegáns.

    köszönöm, ha valaki tudna segíteni :)

    A "DBA..." kezdetű nézeteket csak DBA joggal (role, nem összekeverendő a SYSDBA-val :) ) lehet látni. De ezeknek van "USER..." és "ALL..." nevű változata is. Az előbbiek minden olyan adatbázis objektumot tartalmaznak, amelyek az adott user tulajdonában (owner) vannak, az utóbbiak pedig mindazokat is, amelyeket valaki más kiajánlott neki GRANT-tal, vagy amelyek publikusak (a PUBLIC-nak lettek kiajánlva).
    Esetedben az átlag user használhatja az user_tab_cols, all_tab_cols nézeteket - ha a tábla az övé, vagy joga van legalább SELECT-et futtatni rajta, vagy publikus.

    Demó adatbázisban a scott/tiger-nek adhatsz mindenféle jogokat, de élesben ne tedd (a sémát se tedd fel). :) Emellett soha ne írj olyan pl/sql scriptet, ami ilyen problémát ideiglenes GRANT-tal próbálna megoldani.

  • Lortech
    addikt

    ...szépen működik is, a gond most az, hogy én nagylelkűen felruháztam scott/tiger felhasználómat, minden joggal, így látja is a 'dba_tab_columns' táblát/nézetet, de más rendszeren, egy mezei scott-nak, nincs joga hozzáférni :S. Létezik másik tábla is, amiből le lehet kérdezni az oszlopokat?
    vagy ha nem, hát azzal fog kezdődni a kód, hogy beállítom a jogosultságot... csak nem igazán elegáns.

    köszönöm, ha valaki tudna segíteni :)

    Nem tudok más megoldást sajna.

    imibogyo:
    Leegyszerűsített séma az alapkoncepció megértéséhez:
    konyv (id, cim, szerzo_id, mufaj_id)
    szerzo(id, nev)
    mufaj(id, nev)

    konyv tábla egy sora:
    1,Közöny,1,1
    2,Bukás,1,1

    szerzo tábla egy sora:
    1,Albert Camus

    mufaj tábla egy sora:
    1, regeny

    Ha a lekérdezésben összekapcsolod a táblákat úgy, hogy:
    select k.cim, sz.nev, m.nev from konyv k
    join szerzo sz on k.szerzo_id = sz.id
    join mufaj m on k.mufaj_id = m.id
    - akkor megkapod eredménynek, hogy:
    Közöny, Albert Camus, regény
    Bukás, Albert Camus, regény

    A címet és nevet nem érdemes szétbontani értelemszerűen, mivel ez egyedi. Kiadás évét sincs sok értelme külön kategóriára bontani szvsz.
    De pl. a kiadót érdemes.

Új hozzászólás Aktív témák