Er zijn een paar verschillende benaderingen in deze askTom-thread op waarden teruggeven van SQL*Plus naar een shellscript .
Een veelgebruikte benadering is om een constant token te selecteren naast de waarde die u wilt retourneren (in het voorbeeld van Tom is dat de tekenreeks "KEEP") en vervolgens sed (of uw favoriete opdrachtregelparser) te gebruiken om de gegevens te extraheren die u bent eigenlijk geïnteresseerd in
#!/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
Andere benaderingen, zoals benaderingen waarmee u lees meerdere regels uitvoer worden in dat draadje ook besproken.
Als u niet wilt dat de kop wordt afgedrukt, moet u specificeren
set head off
in uw SQL*Plus-script-- Ik weet niet zeker waarom u de koptekst expliciet instelt in het script als u de koptekst niet wilt... Wilt u een deel van de koptekst behouden?