給定一個Oracle數(shù)據(jù)庫的存儲過程或觸發(fā)器,由程序分析出該過程所用到的數(shù)據(jù)表名和字段名.要求能夠解析出語句中別名所代表的實際意義.包括SQL語句中子查詢中所用到的數(shù)據(jù)表名和字段名.總之,就是凡是該過程或觸發(fā)器所使用到的數(shù)據(jù)表名及字段都需要統(tǒng)計出來,形成的結(jié)果為表名,字段名,使用次數(shù).輸出結(jié)果格式可以是二維的文本文件,也可以存儲到一個數(shù)據(jù)表中.可以由開發(fā)者自己定義.
舉例:
源程序:
create or replace procedure test(n1 in varchar2,n2 in varchar2) is
v_var emp.col1%type
begin
select a.column1 into v_var from (select column_XXX column1 from table_source) a;
end test;
分析結(jié)果:
emp col1 1
table_source column_XXX 1
而a,和column1實際上是實際資源中的表和字段的別名,分析結(jié)果要追蹤到源,即"table_source column_XXX 1",不需要顯示.