Oracle
 sql >> база данни >  >> RDS >> Oracle

Как мога да намеря СОБСТВЕНИКА на обект в Oracle?

Можете да направите запитване към изгледа ALL_OBJECTS:

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

За да намерите синоними:

select *
  from ALL_SYNONYMS
 where synonym_name = 'FOO'

Само за пояснение, ако сте потребител SQL изразът на потребителя препраща към име на обект без квалификация на схема (напр. „FOO“), Oracle ПЪРВО проверява схемата на потребителя за обект с това име (включително синоними в схемата на този потребител). Ако Oracle не може да разреши препратката от схемата на потребителя, Oracle проверява за публичен синоним.

Ако търсите конкретно ограничения за конкретно име на_таблица:

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

-- допълнение:

Ако на вашия потребител е предоставен достъп до изгледите на DBA_ (напр. ако вашият потребител е получил SELECT_CATALOG_ROLE), можете да замените 'DBA_ ' на мястото на 'ALL_ ' в предходните SQL примери. ALL_x изгледите показват само обекти, на които са ви дадени привилегии. DBA_x изгледите ще покажат всички обекти на база данни, независимо дали имате привилегии върху тях или не.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Предпазни мрежи

  2. Как да инсталирате и стартирате Oracle Database Express Edition (XE) 18c на Fedora Linux с SQL-Developer IDE

  3. Заявката за вмъкване на Oracle в съхранена процедура не работи, когато се извиква от задния код

  4. Как да се свържа с база данни на oracle с помощта на VBScript и UFT?

  5. sql заявки за намиране на съвпадащите атрибути