PDA

Visualizza la versione completa : [unix -sqlplus]modificare questo shelscript


afrappe
27-02-2007, 14:28
attraverso questo script apro sqlplus, faccio una query e inserisco il risultato in una variabile
tutto in modalita trasparente senza che a video si veda l'apertura di sqlplus
[code]
#!/bin/sh
VALUE=`sqlplus -silent user/password@instance <<END
set pagesize 0 feedback off verify off heading off echo off
select count(*) from tabella;
exit;
END`

echo $VALUE
[code]
ora dovrei modificare questo scripr in modo da poter fare piu query e inserire i risultato in append alla variabile inserendo prima di ogni query un testo riassuntivo
es(l'ho scritto senza badare alla sintassi)

select count(*) from tabella1

VALUE="Tot tabella1"
VALUE="$VALUE risultatoquery1"

select count(*) from tabella 2

VALUE="$VALUE Tot tabella2"
VALUE="$VALUE risultatoquery2"

select count(*) from tabella 3

VALUE="$VALUE Tot tabella3"
VALUE="$VALUE risultatoquery3"


in modo da ottenere una cosa del genere:

Tot tabella 1
454

Tot tabella 2
4265

Tot tabella
275

come posso concatenare i testi e i risultati di piu query all'interno del blocco
........... << END

END

spero di essere stato abbastanza chiaro

PinguinoGoloso
27-02-2007, 15:01
Potresti fare un ciclo con i nomi delle varie tabelle, nel ciclo concatenare la query al nome della tabella in una variabile, fare la echo di questa variabile per sapere che query , e passare quella variabile al comando del sqlplus per eseguirla.

afrappe
27-02-2007, 15:31
certo potrei usare un ciclo,

pero ho avuto un'intuizione ho risolto cosi(molto semplice)

nel blocco <<END

END

ho usato il comando oracle prompt 'stringa' per stampare le mie intestazioni
quindi
prompt 'titolo1'
query1;
prompt 'titolo2'
query2;
prompt 'titolo2'
query3;


e vai cor tango poma' :D

Loading