我在浏览stackoverview时获得了获取同义词表列的解决方案 DatabaseMetaData.getColumns returning an empty ResultSet for synonyms
但是无法获得任何关于在Java代码中动态获取函数参数的参考资料,以获取数据库中的函数同义词。需要建议
答案 0 :(得分:0)
...一个函数,比如schema1中的func1()被创建为同义词函数as schema2中的test_func()
您可以使用数据字典视图来获取真实函数名称,函数所有者甚至过程参数。
在这里,你可以获得同义词的信息 - 所有者,真实的功能名称:
select table_owner, table_name, table_owner||'.'||table_name full_function_name
from all_synonyms
where owner in ('PUBLIC',user)
and synonym_name = 'FUNC1'
定义了函数的所有者(在您的情况下为schema2名称)和实际函数名称 - 您可以从db查询中提取参数:
select *
from all_arguments
where owner = _table_owner_
and object_name = _table_name_
希望这有帮助。