web-dev-qa-db-fra.com

Comment voir le corps de la fonction stockée PL / SQL dans Oracle

J'ai une fonction stockée dans la base de données Oracle pAdCampaign.fGetAlgoGroupKey. Comment voir le code de cette fonction.?

21
Vallabh Patade

Si c'est un package, vous pouvez obtenir la source pour cela avec:

select text from all_source where name = 'PADCAMPAIGN' 
and type = 'PACKAGE BODY'
order by line;

Oracle ne stocke pas la source d'un sous-programme séparément, vous devez donc rechercher la source du package.

Remarque: je suppose que vous n'avez pas utilisé de guillemets doubles lors de la création de ce package, mais si vous l'avez fait, utilisez

select text from all_source where name = "pAdCampaign' 
and type = 'PACKAGE BODY'
order by line;
36
DazzaL
SELECT text 
FROM all_source
where name = 'FGETALGOGROUPKEY'
order by line

alternativement:

select dbms_metadata.get_ddl('FUNCTION', 'FGETALGOGROUPKEY')
from dual;
5

Vous pouvez également utiliser DBMS_METADATA:

select dbms_metadata.get_ddl('FUNCTION', 'FGETALGOGROUPKEY', 'PADCAMPAIGN') 
from dual
1
Frank Schmitt

Vous pouvez utiliser un outil approprié comme PLSQL-Developer .

Si votre environnement est correctement configuré, c'est aussi simple que d'appuyer sur SHIFTF5 lorsque votre curseur de texte est au-dessus du nom de la fonction/du package.

0
J. Chomel