NaPraia 12 Denunciar post Postado Janeiro 5, 2010 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
Motta 645 Denunciar post Postado Janeiro 5, 2010 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
NaPraia 12 Denunciar post Postado Janeiro 5, 2010 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
Motta 645 Denunciar post Postado Janeiro 5, 2010 Foi criado um objeto de nome package ? Compartilhar este post Link para o post Compartilhar em outros sites
NaPraia 12 Denunciar post Postado Janeiro 5, 2010 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