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

Jak najít název uložené procedury pomocí názvu sloupce v Oracle 11g

Neexistuje žádný zaručený způsob, ale můžete hledat user/all/dba_source pomocí regexp_like pro kontrolu celých slov a křížovým odkazem na to pomocí user/all/dba_dependencies, abyste zúžili seznam balíčků ke kontrole.

select s.name, s.type, s.line, s.text
from   user_source s
where  ltrim(s.text,chr(9)||' ') not like '--%'
and    regexp_like(lower(s.text),'\Wyour_column_name_here\W')
and    (s.name, s.type) in
       ( select d.name, d.type
         from   user_dependencies d
         where  d.referenced_owner = user
         and    d.referenced_name = 'YOUR_TABLE_NAME_HERE' );

nebo pokud by na něj mohly být odkazy z jiných schémat,

select s.owner, s.name, s.type, s.line, s.text
from   all_source s
where  ltrim(s.text,chr(9)||' ') not like '--%'
and    regexp_like(lower(s.text),'\Wyour_column_name_here\W')
and    (s.owner, s.name, s.type) in
       ( select d.owner, d.name, d.type
         from   all_dependencies d
         where  d.referenced_owner = user
         and    d.referenced_name = 'YOUR_TABLE_NAME_HERE' );

Můžete to udělat jednoduše pomocí select distinct s.owner, s.name, s.type ... získat seznam objektů k prozkoumání.




  1. Tabulka MySQL se z nějakého důvodu zvyšuje o 10

  2. Změna názvu stránky na základě položky v Oracle APEX 4.0

  3. CHYBA:velikost pole překračuje maximální povolenou hodnotu (1073741823)

  4. Jak extrahujete číselnou hodnotu z řetězce v dotazu MySQL?