поиск незакрепленной переменной в пакете оракула

Как мы можем найти все переменные в пакете, которые не объявлены как привязанные. Предположим, у меня есть пакет, как показано ниже:

create or replace pkg body test 
is 
 TYPE AnEntry IS RECORD (
  term    VARCHAR2(20),   --TERM IS NOT  ANCHORED 
  meaning VARCHAR2(200));  --MEANING IS NOT ANCHORED 

 procedure abc is 
  v_emp_id number;-- here v_emp_id is not an anchored variable 
 begin


 end abc;

end test;

Мне нужен sql-запрос, которому я передаю имя пакета, и он даст мне весь список non anchored variables с line number.

Есть ли у нас какие-либо data dictionary views с такими подробными сведениями, я видел таблицу user_identifiers, которая дает подробные сведения, но я не могу такие вещи удовлетворить моему условию.


person Gaurav Soni    schedule 28.05.2012    source источник
comment
Ненавижу спрашивать, но почему? Если вы просто пытаетесь что-то найти, то я думаю, вы ищете переменные, которые не соответствуют стандарту кодирования ?? но вы не собираетесь использовать это в коде, не так ли?   -  person Ben    schedule 28.05.2012
comment
что вы имеете в виду под словом "якорь"?   -  person Jens Schauder    schedule 28.05.2012
comment
@JensSchauder: Если вы объявляете переменную типа emp.empid%TYPE, то это привязанное объявление любой переменной.   -  person Gaurav Soni    schedule 29.05.2012
comment
@Ben: На самом деле я пытаюсь создать инструмент, который находит эти переменные, которые не объявлены привязанными.   -  person Gaurav Soni    schedule 29.05.2012


Ответы (1)


На самом деле вам нужно просмотреть представление DBA_SOURCE в поисках таких строк, как VARCHAR2(, NUMBER или DATE;.

person Justin Cave    schedule 28.05.2012