2013-01-08 11 views
8

Oracle veritabanı pAdCampaign.fGetAlgoGroupKey'de saklı bir işlev var. Bu işlevin kodu nasıl görüntülenir. alternatifOracle'da PL/SQL Stored Function gövdesinin nasıl göründüğü

+1

"pAdCampaign" şema veya pakettir kullanılır? – DazzaL

+0

pAdCampaign pakettir. –

+0

[.NET: Bir Oracle 9i PL/SQL yordamının veya işlevinin gövdesi nasıl alınır] olası bir kopyası (http://stackoverflow.com/questions/554115/net-how-to-retrieve-the-body-of -an-oracle-9i-pl-sql-yordamı-veya-işlev) – APC

cevap

21

bir paket o zaman o kaynağını alabilirsiniz ise:

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

Oracle kaynağı saklamıyor Bir alt program ayrı ayrı, bu yüzden bunun için paket kaynağına bakmanız gerekir.

Not: Ben o paketi oluştururken çift tırnak kullanmıyordu varsaydım, ama verirseniz, o zaman

select text from all_source where name = "pAdCampaign' 
and type = 'PACKAGE BODY' 
order by line; 
+0

Teşekkürler Dazzal. İşe yaradı. –

+0

ALL_SOURCE öğesinden seçerseniz, WHERE maddesine OWNER eklemeniz gerekir. Bir işlevi göstermek için – APC

+1

, kullanmanız gereken '' '' '' FUNCTION' – StampyCode

5
SELECT text 
FROM all_source 
where name = 'FGETALGOGROUPKEY' 
order by line 

:

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

İlk yanıt sorgusu için bir hata veriyor ORA-00904: "PROCEDURENAME": geçersiz tanımlayıcı. –

+0

@VallabhPatade: düzenlememe bak. –

+0

NULL döndürüyor. Ama eminim ki bu fonksiyon var/var. Bu işlevi Java kodundan veya SQL kodundan beklediğim gibi değer döndürüyorum. –

0

Ayrıca DBMS_METADATA kullanabilirsiniz:

select dbms_metadata.get_ddl('FUNCTION', 'FGETALGOGROUPKEY', 'PADCAMPAIGN') 
from dual 
İlgili konular