Magnifico script al que le podemos pasar un sql y comprobará si ha ido bien o no. Ya que al salir de sqlPlus no sabemos si el SQL que le hemos pasado ha funcionado o ha arrojado algun mensaje de error.
Y como puedes ver el Script pertenece a Laurent DUCHET… al cesar lo que es del cesar.
#!/bin/ksh # Laurent DUCHET # procedure qui existe un programme SQL # # Parametre : # 1=Connect base # 2=Sql et parametre if [ $# -le 1 ] then echo "Arguments incorrects" exit 5 fi DOCONNECT=$1 shift log_file=$DATA_LOG/p1scratch.`date '+%y%m%d%H%M%S'`.log logtmp=/tmp/do_sql$$.lst rm -f $logtmp # affiche du nom du sql z=$(echo $1 |cut -c1) if [ "a$z" = "a@" ] then echo "Execution de $*" fi echo "log is $logtmp" sqlplus -s $DOCONNECT > $logtmp 2>&1 << EOF set serveroutput on size 1000000 set timing on select to_char(sysdate,'dd/mm/yyyy HH24:MI') DTIME from dual; $* EOF continue=$? cat $logtmp if [ $continue -ne 0 ] then exit 3 fi continue=$(egrep -c -e "Invalid|ORA-|SP2-0310|core" $logtmp) exit $continue echo "fin do_sql.sh"