Boa tarde pessoal,
Gostaria de saber se existe alguma maneira de eu encontrar atravez de selects, quais procedimentos e funcoes uma package contem.
alguém saberia me dizer se é possivel ?
Muito obrigado
Rafael Mascarello
Procedimentos e Funcoes em Packages
-
- Rank: Programador Sênior
- Mensagens: 53
- Registrado em: Ter, 08 Jun 2004 2:59 pm
- Localização: Toledo - PR
Achei algo que funciona ...
SELECT *
FROM (
SELECT NAME NAME_PACKAGE,
SUBSTR(LTRIM(TEXT),
INSTR(LTRIM(TEXT),' ')+1,
NVL(INSTR(SUBSTR(LTRIM(TEXT),INSTR(LTRIM(TEXT),' ')+1,LENGTH(LTRIM(TEXT))),'('), LENGTH(LTRIM(TEXT)))-1
) NM_PROCEDURE,
SUBSTR(LTRIM(TEXT),1,INSTR(LTRIM(TEXT),' ')-1) TYPE
FROM SYS.ALL_SOURCE
WHERE OWNER = 'MAXICON'
AND TYPE = 'PACKAGE BODY'
AND SUBSTR(LTRIM(TEXT),1,INSTR(LTRIM(TEXT),' ')-1) IN ('PROCEDURE','FUNCTION')
)
WHERE NAME_PACKAGE = 'NOME_DA_PACK'
- dr_gori
- Moderador
- Mensagens: 5024
- Registrado em: Seg, 03 Mai 2004 3:08 pm
- Localização: Portland, OR USA
- Contato:
Thomas F. G
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Eu achei o seguinte, que apenas LISTA quais procedures e functions que a package tem:
SQL> select PROCEDURE_NAME
2 from USER_PROCEDURES
3 WHERE OBJECT_NAME = 'PK_IMPORTA_EMBARQUES'
4 /
PROCEDURE_NAME
------------------------------
PC_APAGA_EMBARQUES
PC_EXCLUI_ARQUIVO
PC_GERA_EMBARQUES
PC_GERA_INDIVIDUAL
PC_GERA_TODOS_DINF
PC_IMPORTA_ARQUIVOS
PC_IMPORTA_INDIVIDUAL
PC_LOG_IMPORTACAO
8 rows selected.
SQL>
-
- Rank: Programador Sênior
- Mensagens: 53
- Registrado em: Ter, 08 Jun 2004 2:59 pm
- Localização: Toledo - PR
Opa, joia, muito obrigado pela colaboracao de vocês
fico muito agradecido mesmo ...
e respondendo a ultima pergunta, sim, precisaria saber qual o tipo, se é procedure ou funcao..
mais uma vez, muito obrigado pela ajuda moçada
fico muito agradecido mesmo ...
e respondendo a ultima pergunta, sim, precisaria saber qual o tipo, se é procedure ou funcao..
mais uma vez, muito obrigado pela ajuda moçada
-
- Rank: Estagiário Pleno
- Mensagens: 3
- Registrado em: Seg, 07 Jun 2004 8:00 am
- Localização: Toledo - PR
----------------------------
DriwLL
Programador Junior
Oracle/Forms
DriwLL
Programador Junior
Oracle/Forms
Acho que isso já dá uma boa ajuda.
CREATE OR REPLACE VIEW VIEW_PACKAGE_CONTENTS AS
SELECT *
FROM (
SELECT ALL_OBJECTS.OBJECT_NAME NAME_PACKAGE,
ALL_ARGUMENTS.OBJECT_NAME NAME_CONTENTS,
'FUNCTION' OBJECT_TYPE
FROM ALL_ARGUMENTS , ALL_OBJECTS
WHERE ALL_ARGUMENTS.OBJECT_ID = ALL_OBJECTS.OBJECT_ID
AND ALL_OBJECTS.OBJECT_TYPE = 'PACKAGE'
AND ALL_ARGUMENTS.ARGUMENT_NAME IS NULL
UNION
SELECT DISTINCT ALL_OBJECTS.OBJECT_NAME NAME_PACKAGE,
ALL_ARGUMENTS.OBJECT_NAME NAME_CONTENTS,
'PROCEDURE' OBJECT_TYPE
FROM ALL_ARGUMENTS , ALL_OBJECTS
WHERE ALL_ARGUMENTS.OBJECT_ID = ALL_OBJECTS.OBJECT_ID
AND ALL_OBJECTS.OBJECT_TYPE = 'PACKAGE'
AND ALL_ARGUMENTS.ARGUMENT_NAME IS NOT NULL
AND ALL_ARGUMENTS.OBJECT_NAME NOT IN ( SELECT DISTINCT A.OBJECT_NAME
FROM ALL_ARGUMENTS A
WHERE A.OBJECT_ID = ALL_OBJECTS.OBJECT_ID
AND A.ARGUMENT_NAME IS NULL ) )
ORDER BY NAME_PACKAGE ,NAME_CONTENTS,OBJECT_TYPE
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 13 visitantes