Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

NaPraia

parametro out na procedure

Recommended Posts

Oi,

estou com um problema no teste de uma procedure que retorna um parâmetro.

a procedure tem dois parâmetros in e um out e estou usando o seguinte:

 

execute package.procedure(p1_in, p2_in, p3_out);

 

o p3_out é varchar2. Se eu não coloco ele, dá erro de wrong types ...

 

se eu coloco '' ou null dá - cannot be used as an assignment target

 

E se eu ponho algum string, mesmo que seja uma variável que uso dentro da procedure, dá: identifier 'p_retorno' must be declared

 

 

alguém pode dar uma ajuda, como eu faço para testar essa procedure?

falei no sql plus, mas estou usando o command do pl/sql developer

 

obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Exemplo

 

DECLARE
  VN_ENTRA NUMBER;
  VS_SAI   VARCHAR2(255);
BEGIN
  VN_ENTRA := 12345;
  CHAMA_SP(VN_ENTRA,VS_SAI);
  DBMS_OUTPUT.PUT_LINE(VS_SAI);

Compartilhar este post


Link para o post
Compartilhar em outros sites

então, eu tentei fazer assim, mas eu digito o comando, mas dou um enter e não executa, ele fica esperando algum comando.

 

exemplo:

 

SQL> declare

2 v_sai varchar2(100);

3 begin

4 package.prc_teste(v_sai);

5 dbms_output.put_line(v_sai);

6 end;

7

 

e fica assim, não consegui executar. posso continuar pressionando enter ou ponto-e-vírgula que continua na mesma.

 

O que está faltando?

Valeu...

 

 

 

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Foi criado um objeto de nome package ?

não, coloquei só para exemplo, é que estou chamando a procedure que está numa package. Poderia ser:

 

sql> execute pkg_veiculos.prc_marcas(v_saida);

 

ou

 

sql> declare v_saida varchar2(100);

2 begin pkg_veiculos.prc_marcas(v_saida);

3 dbms_output.put_line(v_saida);

4 end;

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.