Mam funkcję przechowywaną w bazie danych Oracle pAdCampaign.fGetAlgoGroupKey. Jak wyświetlić kod tej funkcji.?Jak wyświetlić treść funkcji przechowywanej w języku PL/SQL w Oracle
Odpowiedz
Jeśli to pakiet następnie można pobrać źródła, które z:
select text from all_source where name = 'PADCAMPAIGN'
and type = 'PACKAGE BODY'
order by line;
Oracle nie przechowuje źródła podprogramu osobno, więc musisz przejrzeć źródło pakietu dla niego.
Uwaga: Mam Zakłada pan, że podczas tworzenia pakietu nie używać podwójnych cudzysłowów, ale jeśli nie, a następnie użyć
select text from all_source where name = "pAdCampaign'
and type = 'PACKAGE BODY'
order by line;
Dzięki Dazzal. Zadziałało. –
Jeśli wybierzesz z ALL_SOURCE, powinieneś uwzględnić OWNER w klauzuli WHERE. – APC
dla pokazania funkcji, "typ", którego powinieneś użyć to "FUNKCJA" – StampyCode
SELECT text
FROM all_source
where name = 'FGETALGOGROUPKEY'
order by line
alternatywnie:
select dbms_metadata.get_ddl('FUNCTION', 'FGETALGOGROUPKEY')
from dual;
W przypadku pierwszej odpowiedzi na pytanie pojawia się błąd ORA-00904: "PROCEDURENAME": nieprawidłowy identyfikator. –
@VallabhPatade: zobacz moją edycję. –
Powraca null. Ale jestem pewien, że ta funkcja istnieje/istnieje. Wywołuję tę funkcję z kodu Java lub kodu SQL, który zwraca wartość zgodnie z oczekiwaniami. –
Można również użyć DBMS_METADATA:
select dbms_metadata.get_ddl('FUNCTION', 'FGETALGOGROUPKEY', 'PADCAMPAIGN')
from dual
jest „pAdCampaign” schemat lub pakiet? – DazzaL
pAdCampaign jest pakietem. –
możliwy duplikat [.NET: Jak pobrać treść procedury lub funkcji Oracle 9i PL/SQL] (http://stackoverflow.com/questions/554115/net-how-to-retrieve-thebody-of -an-oracle-9i-pl-sql-procedure-or-function) – APC