Pessoal,
estou começando minha caminha no mundo do oracle
e gostaria de uma ajuda.
Como eu conseguiria recuperar os parametros de uma procedure...para recuperar as colunas de uma tabela usa-se a tabela USER_TAB_COLUMNS e de uma procedure
Valeu
abraçosss
Como Recuperar os parametros de uma procedure
-
- Moderador
- Mensagens: 2016
- Registrado em: Qua, 12 Jan 2005 3:25 pm
- Localização: Araraquara - SP
Abraço,
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Brother,
Para se recuperar valores de uma procedure, você deve ter um parâmetro "OUT", para que posteriormente possa lê-lo.
Dê uma pesquisada sobre procedure aqui no fórum, que irá encontrar exemplos interessantes.
Porém, como está iniciando, acho interessante dar uma olhada na nossa parte de "Tutorial/Apostila".
Qualquer coisa, manda pra gente.
Para se recuperar valores de uma procedure, você deve ter um parâmetro "OUT", para que posteriormente possa lê-lo.
Dê uma pesquisada sobre procedure aqui no fórum, que irá encontrar exemplos interessantes.
Porém, como está iniciando, acho interessante dar uma olhada na nossa parte de "Tutorial/Apostila".
Qualquer coisa, manda pra gente.
-
- Rank: Estagiário Pleno
- Mensagens: 5
- Registrado em: Sex, 18 Jul 2008 11:01 am
- Localização: Rio de Janeiro / RJ
Entendi...
minha procedure já tem um parametro de saida, pois já havia pesquisado sobre isso. Por exemplo no sql server a syscolumns armazena tanto as colunas de uma tabela e de uma view como os parametros de uma procedure.
Mas a user_tab_columns não armazena os parametros das procedures.
abraços
minha procedure já tem um parametro de saida, pois já havia pesquisado sobre isso. Por exemplo no sql server a syscolumns armazena tanto as colunas de uma tabela e de uma view como os parametros de uma procedure.
Mas a user_tab_columns não armazena os parametros das procedures.
abraços
- 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
Acho que ele está se referindo ao dicionário de dados.
Existe uma view chamada ALL_ARGUMENTS que tem todos parâmetros de cada procedure.
Se é isso sua dúvida, aqui tem um link legal:
http://glufke.net/oracle/viewtopic.php?t=11
Existe uma view chamada ALL_ARGUMENTS que tem todos parâmetros de cada procedure.
Se é isso sua dúvida, aqui tem um link legal:
http://glufke.net/oracle/viewtopic.php?t=11
-
- Moderador
- Mensagens: 2016
- Registrado em: Qua, 12 Jan 2005 3:25 pm
- Localização: Araraquara - SP
Abraço,
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Brother, posta pra gente tua solução, ou, caso foi alguma solução apontada nos posts anteriores, nos diga qual é pois os demais podem aproveitar da sugestão tabém.
- Toad
- Rank: DBA Pleno
- Mensagens: 253
- Registrado em: Sex, 18 Nov 2005 2:14 pm
- Localização: Seattle, WA
- Contato:
Matheus Gonçalves
matheus.dev
twitter.com/developer__c
matheus.dev
twitter.com/developer__c
Bom, eu precisei de algo parecido e ficou assim:
Abraços!
create or replace procedure APPP_PES_PARAM_PROCEDURE(pPROCEDURE_NAME IN VARCHAR2,
p_cursor OUT SYS_REFCURSOR ) is
begin
open p_cursor FOR
SELECT AA.ARGUMENT_NAME PARAMETRO ,
AA.DATA_TYPE ORACLETYPE ,
AA.in_out IN_OUT
FROM ALL_ARGUMENTS AA
where aa.object_name = UPPER(pPROCEDURE_NAME)
ORDER BY AA.SEQUENCE;
end APPP_PES_PARAM_PROCEDURE;
- Toad
- Rank: DBA Pleno
- Mensagens: 253
- Registrado em: Sex, 18 Nov 2005 2:14 pm
- Localização: Seattle, WA
- Contato:
Matheus Gonçalves
matheus.dev
twitter.com/developer__c
matheus.dev
twitter.com/developer__c
Dúvida: Uma vez que eu tenho o nome do parâmetro em uma variável de texto chamada vNM_PAR, existe alguma maneira de eu acessar o valor desse parâmetro, passando comoo varchar2 ?
Exemplo:
Eu executei a procedure acima que busca os nomes dos Parâmetros de uma determinada procedure.
Durante o loop que retorna esses parâmetros, eu atribuo o nome para vNM_PAR. O que quero agora é fazer algo assim:
Ou seja, pegar o valor do parâmetro, sendo que o nome do parâmetro está em uma variável varchar2.
Tem como??
Obrigado.
Exemplo:
Eu executei a procedure acima que busca os nomes dos Parâmetros de uma determinada procedure.
Durante o loop que retorna esses parâmetros, eu atribuo o nome para vNM_PAR. O que quero agora é fazer algo assim:
vVALOR_PARAM := (???)vNM_PAR;
Tem como??
Obrigado.
- Toad
- Rank: DBA Pleno
- Mensagens: 253
- Registrado em: Sex, 18 Nov 2005 2:14 pm
- Localização: Seattle, WA
- Contato:
Matheus Gonçalves
matheus.dev
twitter.com/developer__c
matheus.dev
twitter.com/developer__c
A pergunta ficou confusa demais? Deu pra entender minha necessidade?
Na real o que eu to tentando criar aqui é um método automático para criar o texto de um log em situações de exception, gravando os nomes dos parâmetros seguido dos valores dos parâmetros.
Os nomes eu já consigo recuperar... preciso agora dos valores.
Idéias?
Na real o que eu to tentando criar aqui é um método automático para criar o texto de um log em situações de exception, gravando os nomes dos parâmetros seguido dos valores dos parâmetros.
Os nomes eu já consigo recuperar... preciso agora dos valores.
Idéias?
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 11 visitantes