Mostrar resultado do parâmetro de uma Procedure no Shell

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
vanessafserrano
Rank: Estagiário Júnior
Rank: Estagiário Júnior
Mensagens: 1
Registrado em: Seg, 19 Jun 2006 8:31 am
Localização: São Paulo

olá!

Eu tenho uma procedure com um parâmetro out. Dependendo do resultado de uma query dentro dessa procedure, eu retorno uma mensagem nesse parâmetro out.

No shell, eu preciso chamar essa procedure e quando esse parâmetro não estiver nulo, eu preciso mostrá-lo.

Ele cai na mensagem que a variável não está nula, mas não mostra o resultado. Não sei se estou retornando a variável da maneira correta.

Selecionar tudo

Vl_RET=`sqlplus -S $VS_ORAPWD <<EOF
                        WHENEVER SQLERROR EXIT FAILURE
                        set PAGESIZE 0
                        set FEEDBACK OFF
                        set VERIFY OFF
                        set HEADING OFF
                        set ECHO OFF
                         
                        var x varchar2(50);

                        begin
                        pack$calculo.Cod(:x)
                        end;
                        /
                        select :x from dual;
                        
                      
                       exit
                       EOF`

                         if [ -n $Vl_RET ]
                         then
                            echo "variavel não nula, $Vl_RET"
                         fi

Avatar do usuário
stcoutinho
Moderador
Moderador
Mensagens: 850
Registrado em: Qua, 11 Mai 2011 5:15 pm
Localização: são Paulo - SP

Vanessa,

Boa tarde,

Não sei se ajuda, mas você poderia criar um script SQL e chamar ele pelo shell.

Neste script SQL, depois do bloco PL/SQL, você acrescentaria estas linhas:

SPOOL LOG_EXECUCAO.LOG
SELECT :X FROM DUAL;
SPOOL OFF;

Depois bastaria consultar o arquivo de LOG gerado para ver o valor de :X.

Abraços,

Coutinho
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 22 visitantes