Ajuda com resultado de saida no sqlplus para shell script

Scripts Diversos para o Oracle SQL*Plus. (Relacionado a ferramenta Oracle SQL*Plus, para questões de SQL, usar o forum SQL)
Responder
fabiogrosa
Rank: Estagiário Júnior
Rank: Estagiário Júnior
Mensagens: 1
Registrado em: Sex, 04 Mar 2011 3:57 pm
Localização: Belo Horizonte

Pessoal não sei se isso é possível,
Quero atribuir um resultado para uma variável externa do Shell de um bloco sqlplus ,
Sei que posso jogar a saída do sqlplus para uma variavel, ou para um arquivo de spool.

Não quero assim :

Selecionar tudo

Minha_variavel=` sqlplus –s nnnnnnnnn `
Ou um arquivo de spool.


Selecionar tudo

$VARIAVLE_EXTERNA=0

sqlplus -s <<EFSQL >> ${LOG_ARQ} &
$CUST_USER/$CUST_PASSWD@$CUST_DATABASE
SET SERVEROUTPUT ON
set feedback off
VARIABLE A  NUMBER 
EXEC :A :=10
WHENEVER sqlerror exit 1

   Select yyy 
  Into VARIAVEL_EXTERNA
 FROM TABELA; 
/
EFSQL
Avatar do usuário
stcoutinho
Moderador
Moderador
Mensagens: 850
Registrado em: Qua, 11 Mai 2011 5:15 pm
Localização: são Paulo - SP

Fabio,

Encontrei um topico sobre este assunto no site do ORAFAQS

http://www.orafaq.com/wiki/Unix_FAQ#How ... ariable.3F

Veja se o exemplo fornecido no link acima ajudaria a solucionar o seu problema:

Selecionar tudo


" Yet another example, only this time we will read multiple values from SQL*Plus into shell variables:"

 #!/bin/ksh
sqlplus  -s /nolog |&     # Open a pipe to SQL*Plus

print -p -- 'connect user/password@instance'
print -p -- 'set feed off pause off pages 0 head off veri off line 500'
print -p -- 'set term off time off'
print -p -- "set sqlprompt "

print -p -- "select sysdate from dual;"
read  -p SYSDATE

print -p -- "select user from dual;"
read  -p USER

print -p -- "select global_name from global_name;"
read  -p GLOBAL_NAME

print -p -- exit

echo SYSDATE:     $SYSDATE
echo USER:        $USER
echo GLOBAL_NAME: $GLOBAL_NAME

Espero que ajude.

Abraços e boa sorte,

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

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