Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak znaleźć WŁAŚCICIELA obiektu w Oracle?

Możesz zapytać o widok ALL_OBJECTS:

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

Aby znaleźć synonimy:

select *
  from ALL_SYNONYMS
 where synonym_name = 'FOO'

Dla wyjaśnienia, jeśli użytkownik instrukcja SQL użytkownika odwołuje się do nazwy obiektu bez kwalifikacji schematu (np. „FOO”), Oracle FIRST sprawdza schemat użytkownika pod kątem obiektu o tej nazwie (w tym synonimów w schemacie tego użytkownika). Jeśli Oracle nie może rozpoznać odwołania ze schematu użytkownika, Oracle następnie sprawdza publiczny synonim.

Jeśli szukasz ograniczeń dotyczących konkretnej nazwy_tabeli:

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:

Jeśli Twojemu użytkownikowi przyznano dostęp do widoków DBA_ (np. jeśli przyznano mu SELECT_CATALOG_ROLE), możesz podstawić „DBA_ ' zamiast 'ALL_ ' w poprzednich przykładach SQL. ALL_x widoki pokazują tylko obiekty, do których nadane zostały uprawnienia. DBA_x widoki pokażą wszystkie obiekty bazy danych, niezależnie od tego, czy masz do nich uprawnienia, czy nie.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Długość dynamiczna w formacie liczby w to_number Oracle SQL

  2. ORA-27154 / ORA-27146

  3. Oracle:usuwanie od dołu

  4. Zgodność wersji Oracle Client i ODP.NET

  5. Liczba piątków między dwiema datami