sql >> Databáze >  >> RDS >> Oracle

Jak mohu najít VLASTNÍKA objektu v Oracle?

Můžete se dotazovat na zobrazení ALL_OBJECTS:

select owner
     , object_name
     , object_type
  from ALL_OBJECTS
 where object_name = 'FOO'

Chcete-li najít synonyma:

select *
  from ALL_SYNONYMS
 where synonym_name = 'FOO'

Jen pro upřesnění, pokud uživatel příkaz SQL uživatele odkazuje na název objektu bez kvalifikace schématu (např. 'FOO'), Oracle FIRST zkontroluje schéma uživatele na objekt tohoto jména (včetně synonym ve schématu daného uživatele). Pokud Oracle nedokáže vyřešit odkaz ze schématu uživatele, Oracle poté zkontroluje veřejné synonymum.

Pokud hledáte specificky omezení pro konkrétní název_tabulky:

select c.*
  from all_constraints c 
 where c.table_name = 'FOO'
 union all
select cs.*
  from all_constraints cs
  join all_synonyms s 
    on (s.table_name = cs.table_name
     and s.table_owner = cs.owner 
     and s.synonym_name = 'FOO'
       )

HTH

-- dodatek:

Pokud je vašemu uživateli udělen přístup k pohledům DBA_ (např. pokud váš uživatel získal SELECT_CATALOG_ROLE), můžete nahradit 'DBA_ ' místo 'ALL_ ' v předchozích příkladech SQL. ALL_x pohledy zobrazují pouze objekty, ke kterým máte udělena oprávnění. DBA_x pohledy zobrazí všechny databázové objekty, ať už k nim máte oprávnění nebo ne.



  1. Jak nastavit barvu stavového řádku v SSMS pro různé instance serveru SQL - SQL Server / Výukový program TSQL, část 6

  2. Odečtěte měsíc od data v MariaDB

  3. Oracle získá všechny odpovídající výskyty ze sloupce

  4. MySQL, aktualizujte více tabulek jedním dotazem