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.
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