Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Configure o SQL*Plus para retornar nada além de dados


Existem algumas abordagens diferentes neste tópico do askTom em retornando valores do SQL*Plus para um script de shell .

Uma abordagem comum é selecionar um token constante além do valor que você deseja retornar (no exemplo de Tom, que é a string "KEEP") e então usar sed (ou seu analisador de linha de comando favorito) para extrair os dados que você está realmente interessado em
#!/bin/ksh

x=`sqlplus / <<endl | grep KEEP | sed 's/KEEP//;s/[   ]//g'
select 'KEEP' , max(sal) from emp;
exit
endl`

echo the answer is $x

Outras abordagens, como abordagens que permitem ler várias linhas de saída também são discutidos nesse tópico.

Se você não quiser que o cabeçalho seja impresso, você deve especificar
set head off

em seu script SQL*Plus-- não sei por que você está configurando explicitamente o cabeçalho no script se não quiser o cabeçalho... Deseja manter alguma parte do cabeçalho?