如何在Oracle中查看PL/SQL存储函数体

Val*_*ade 22 oracle plsql

我在Oracle数据库pAdCampaign.fGetAlgoGroupKey中有一个存储函数.如何查看此功能的代码.

Daz*_*zaL 38

如果是一个包,那么你可以获得它的源:

select text from all_source where name = 'PADCAMPAIGN' 
and type = 'PACKAGE BODY'
order by line;
Run Code Online (Sandbox Code Playgroud)

Oracle不会单独存储子程序的源代码,因此您需要查看包源代码.

注意:我假设您在创建该包时没有使用双引号,但如果您这样做,则使用

select text from all_source where name = "pAdCampaign' 
and type = 'PACKAGE BODY'
order by line;
Run Code Online (Sandbox Code Playgroud)

  • 为了显示一个函数,你应该使用的`type`是`FUNCTION` (2认同)

a_h*_*ame 5

SELECT text 
FROM all_source
where name = 'FGETALGOGROUPKEY'
order by line
Run Code Online (Sandbox Code Playgroud)

或者:

select dbms_metadata.get_ddl('FUNCTION', 'FGETALGOGROUPKEY')
from dual;
Run Code Online (Sandbox Code Playgroud)