Есть ли способ оракула посмотреть, что такое структура процедуры? Я пытаюсь войти и запустить процедуры и хотел сохранить фактическую структуру процедуры в моем журнале.
Как распечатать определение процедуры в Oracle?
Ответ 1
Вы можете запросить таблицу ALL_SOURCE
SELECT text
FROM all_source
WHERE owner = <<owner of procedure>>
AND name = <<name of procedure>>
ORDER BY line
Если вы имеете дело с процедурой, находящейся внутри пакета
SELECT text
FROM all_source
WHERE owner = <<owner of procedure>>
AND name = <<name of procedure>>
AND type = 'PACKAGE BODY'
ORDER BY line
предоставит вам текст тела пакета. Вы также можете получить текст спецификации пакета с помощью TYPE
из "ПАКЕТ"
Ответ 2
SELECT TEXT, LINE FROM ALL_SOURCE WHERE
NAME = UPPER('$name') -- the table also has an owner field to track the user
ORDER BY TYPE, -- type is generally procedure, but there are functions and
-- more complex structures as well, such as PACKAGE
TO_NUMBER( LINE )
Ответ 3
пакет dbms_metadata, функция get_ddl, возможно?
SELECT dbms_metadata.get_ddl('PROCEDURE','<yourproc>','<schema>') FROM dual;