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

Как да изброя всички таблици, използвани в определена съхранена процедура в Oracle

Dynamic SQL s се пропускат, тъй като не са валидирани в SEMANTIC проверки по време на компилации

select 
   proc_syn.referenced_owner, 
   proc_syn.referenced_name, 
   proc_syn.referenced_type,
   syn_tab.table_name
from 
   dba_dependencies proc_syn, dba_synonyms syn_tab, dba_tables tables
where 
     proc_syn.name= 'YOUR_PROC' 
  AND REFERENCED_TYPE in ( 'SYNONYM','TABLE')
  AND proc_syn.referenced_name = syn_tab.synonym_name
  AND syn_tab.synonym_name = tables.table_name
  AND syn_tab.owner = 'PUBLIC'
order by 
  proc_syn.referenced_owner, syn_tab.table_name;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ORA-01722:Невалиден номер, намерете конкретен ред

  2. Пример за съхранена процедура в Oracle с параметър IN OUT

  3. ALTER SESSION SET nls_date_format не работи в APEX. Въпреки това работи в SQL Developer

  4. множествен случай SQL заявка извлича един ред като множество колони

  5. Преобразуване на заявка от Oracle в MySQL заявка