Pagina 1 di 1
		
			
				shell/sql su unix
				
Inviato: 
07 gen 2005, 13:31 
				di fabuloso82
				ciao a tutti...
sto facendo sotto linux una shell che ad un certo punto con sqlplus esegue un file sql che mi spoolla un file con dentro determinati dati,che sn esattamente una lista di comandi sql,in precisione unsa serie di drop table.il mio problema sta nel fatto che nn riesco a costruire una riga di codice da inserire o nella shell o nel file sql per far si che qnd viene generato il file finale vuoto(cè questa ipotesi)..nn venga eseguito dalla shell.avete qualche idea?
			 
			
		
			
				
				
Inviato: 
07 gen 2005, 13:55 
				di netvandal
				se, come ho capito stai facendo uno script in bash per controllare se il file è vuoto o meno puoi usare questo pezzetto di codice:
- Codice: Seleziona tutto
 if [ ! -s $file ]
    print "$file è vuoto"
else
    print "$file non è vuoto"
fi
ovviamente al posto delle print ci fai quello che ci devi fare.. 
era questo che ti serviva?
 
			 
			
		
			
				
				
Inviato: 
07 gen 2005, 14:20 
				di fabuloso82
				diciamo che hai capito il mio prob,ma di sintassi nn ci sono,
sqlplus -s $INS @$PATH_SQL/a100/a100_spool_delete_tabelle.sql $FILE
  if [[ $? != 0 ]]; then
      echo "ERRORE: $PGM: a100_delete_tabelle_work.sql"
      exit -1
  fi
if [[ -s $PATH_SQL/a100/$NOME_FILE]]
sqlplus -s $INS @$PATH_SQL/a100/$NOME_FILE
   if [[ $? != 0 ]]; then
      echo "ERRORE: $PGM: a100_comandi_delete.sql"
      exit -1
   fi
fi
ho modificiato secondo il tuo if...allora nn mi funge....il secondo sqlplus lo deve eseguire solo se il file non è vuoto...ma nn funge..puoi prestarmi le modifiche tu?
poi come posso imparare queste cose?
grazie mille
			 
			
		
			
				
				
Inviato: 
07 gen 2005, 14:26 
				di fabuloso82
				dimenticavo da quello che it ho incollato non compare l'else a metà..cmq cera ho sbagliato a fare un copia incolla
			 
			
		
			
				
				
Inviato: 
07 gen 2005, 15:08 
				di fabuloso82
				ok ok grazie ce lo fatta...
- Codice: Seleziona tutto
 sqlplus -s $INS @$PATH_SQL/a100/a100_spool_delete_tabelle.sql $FILE
  if [[ $? != 0 ]]; then
      echo "ERRORE: $PGM: a100_spool_delete_tabelle.sql"
      exit -1
  fi
echo "$creazione file comandi conclusa"
if [ -s $PATH_SQL/a100/$NOME_FILE ]; then
sqlplus -s $INS @$PATH_SQL/a100/$NOME_FILE
   if [[ $? != 0 ]]; then
      echo "ERRORE: $PGM: a100_comandi_delete.sql"
      exit -1
   fi
else
     echo "$nessuna tabella da eliminare"
     exit 0
fi
avevo una dimenticanza anche nell'sql,exit finale!!!!!che sbadato...grazie!!!!
 
			 
			
		
			
				
				
Inviato: 
07 gen 2005, 15:46 
				di netvandal
				felice di esserti stato minimamente d'aiuto..
