[求助]Oracle数据库的存储过程与统计
问题描述:
给定一个Oracle数据库的存储过程或触发器,由程序分析出该过程所用到的数据表名和字段名.要求能够解析出语句中别名所代表的实际意义.包括SQL语句中子查询中所用到的数据表名和字段名.总之,就是凡是该过程或触发器所使用到的数据表名及字段都需要统计出来,形成的结果为表名,字段名,使用次数.输出结果格式可以是二维的文本文件,也可以存储到一个数据表中.可以由开发者自己定义.
举例:
源程序:
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;
分析结果:
emp col1 1
table_source column_XXX 1
而a,和column1实际上是实际资源中的表和字段的别名,分析结果要追踪到源,即"table_source column_XXX 1",不需要显示.